On 11/22/2010 03:16 PM, Chet Ramey wrote: >> include/filecntl.h in bash-4.1 has following: >> >> #define SET_CLOSE_ON_EXEC(fd) (fcntl ((fd), F_SETFD, FD_CLOEXEC)) >> >> Is that really the correct/intended usage of F_SETFD ? > > F_SETFD Set the close-on-exec flag associated with fildes to > the low order bit of arg (0 or 1 as above). > >> If kernel ever adds a new flag to the fd, this would end up clearing the >> other new flag right ? >> >> Shouldn't bash use F_GETFD to get the current flags and set/clear just >> the FD_CLOEXEC bit ? > > I suppose it would matter if there are systems that have more than one > flag value. In practice, there aren't any such systems; but POSIX warns that current practice is no indicator of future systems, and that read-modify-write is the only way to use F_SETFD. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature