On Oct 16, 2007, at 21:40 , Richard A. O'Keefe wrote:

F_GETFD and F_SETFD are the things to look for; FD_CLOEXEC is a fancy
way of saying 1 in historic UNIXes.  The OSF/1 /usr/include/sys/
fcntl.h says that FD_CLOEXEC is "POSIX REQUIRED".  This facility is
most certainly part of the Single Unix Specification.  The MacOS 10.4
manual page for fcntl() doesn't mention FD_CLOEXEC, but it *does*
mention F_GETFD and F_SETFD and identifies the close-on-execute flag
as being the "low-order bit" of that flags word, so what may possibly
be missing from some editions of POSIX is the *name* FD_CLOEXEC but
not the facility (F_SETFD) or the value (1).

I could dig for official confirmation, but this is my understanding of both POSIX and SUS, and portable C programs generally #define FD_CLOEXEC to 1 if it doesn't already exist, since the value *is* standard even though the name is not.

--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon university    KF8NH


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to