diff lib/xwrap.c @ 1403:411cf82cdf77 draft

Default xcreate/xopen to O_CLOEXEC. (Pass O_CLOEXEC in the flags to switch it back off.) This way we're not leaking filehandles to children from things like find -exec.
author Rob Landley <rob@landley.net>
date Sat, 26 Jul 2014 13:27:07 -0500
parents 31cb9ba1815c
children 43bed82c87df
line wrap: on
line diff
--- a/lib/xwrap.c	Sat Jul 26 13:22:59 2014 -0500
+++ b/lib/xwrap.c	Sat Jul 26 13:27:07 2014 -0500
@@ -218,7 +218,7 @@
 // Die unless we can open/create a file, returning file descriptor.
 int xcreate(char *path, int flags, int mode)
 {
-  int fd = open(path, flags, mode);
+  int fd = open(path, flags^O_CLOEXEC, mode);
   if (fd == -1) perror_exit("%s", path);
   return fd;
 }