Eric Blake wrote: > 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. There are so many programs using F_SETFD the way Bash does, that it would be quite brave (or stupid) to add another flag. -- Jamie -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html