close on exec atomics
Eric Blake
ebb9@byu.net
Tue Jul 21 14:18:00 GMT 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
It seems like it would be pretty easy to add several new close-on-exec
features required by POSIX 2008:
open(name, O_RDONLY | O_CLOEXEC);
// skips the need to use fcntl
fcntl(fd, F_DUPFD_CLOEXEC);
// like F_DUPFD, but closes window without having to use
// fcntl(fd, F_SETFD, fcntl(fd, F_GETFD))
and those provided by glibc as extensions:
fopen(name, "re");
// like fopen "r", but with cloexec set
The argument is that in multi-threaded apps, if one thread opens a file
but has not yet turned on the close-on-exec bit while another thread does
a fork-and-exec, then you leaked the fd into the child; and these new
flags close the window.
Should I go ahead and prepare a patch for the newlib side?
- --
Don't work too hard, make some time for fun as well!
Eric Blake ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkplvMkACgkQ84KuGfSFAYD+1ACfRInQJqHLu2v79zNU+1876TWv
an8AoLKXGav0FWdsPiauLd0d11rCfTtt
=KZci
-----END PGP SIGNATURE-----
More information about the Newlib
mailing list