add 'e' modifier (close-on-exec) to fopen and fdopen

this feature will be in the next version of POSIX, and can be used
internally immediately. there are many internal uses of fopen where
close-on-exec is needed to fix bugs.
This commit is contained in:
Rich Felker 2012-09-29 18:09:34 -04:00
commit 8582a6e9f2
2 changed files with 5 additions and 2 deletions

View file

@ -17,6 +17,7 @@ FILE *fopen(const char *restrict filename, const char *restrict mode)
else if (*mode == 'r') flags = O_RDONLY;
else flags = O_WRONLY;
if (strchr(mode, 'x')) flags |= O_EXCL;
if (strchr(mode, 'e')) flags |= O_CLOEXEC;
if (*mode != 'r') flags |= O_CREAT;
if (*mode == 'w') flags |= O_TRUNC;
if (*mode == 'a') flags |= O_APPEND;