This is the mail archive of the
cygwin
mailing list for the Cygwin project.
close on exec atomics
- From: Eric Blake <ebb9 at byu dot net>
- To: cygwin at cygwin dot com, newlib at sources dot redhat dot com
- Date: Tue, 21 Jul 2009 07:04:09 -0600
- Subject: close on exec atomics
-----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-----
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple