• Paul Eggert's avatar
    open: support O_CLOEXEC · 990fa9d5
    Paul Eggert authored
    * NEWS, doc/posix-functions/open.texi:
    * doc/posix-functions/openat.texi: Document this.
    * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
    (GNULIB_defined_O_CLOEXEC): New symbol.
    * lib/open.c: Include cloexec.h.
    (open): Support O_CLOEXEC.
    * lib/openat.c: Include cloexec.h.
    (rpl_openat): Support O_CLOEXEC.
    * lib/popen-safer.c: Do not include cloexec.h.
    (open_noinherit): Remove.
    (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
    * lib/save-cwd.c: Do not include cloexec.h.
    (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
    * m4/open-cloexec.m4: New file.
    * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
    Replace 'open' if O_CLOEXEC is not present.
    * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
    Replace 'openat' if O_CLOEXEC is not present.
    * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
    * modules/open (Files): Add m4/open-cloexec.m4.
    (Depends-on): Depend on cloexec if replacing 'open'.
    * modules/openat (Files): Add m4/open-cloexec.m4.
    (Depends-on): Depend on cloexec if replacing openat.
    * modules/popen-safer (Depends-on): Remove cloexec.
    * modules/save-cwd (Depends-on): Remove cloexec, and add
    fd-safer-flag and 'open'.
    990fa9d5