bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

use O_CLOEXEC in more places


From: Bruno Haible
Subject: use O_CLOEXEC in more places
Date: Wed, 27 May 2020 20:43:45 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-177-generic; KDE/5.18.0; x86_64; ; )

The gnulib module 'open' supports O_CLOEXEC since 2017-08-14. We can use it
to make multithreaded application that call fork() and exec() more robust.

Here are proposed patches.

How about module 'fts'? Should the directory fds that it allocates also be
made O_CLOEXEC?


2020-05-27  Bruno Haible  <bruno@clisp.org>

        relocatable-prog: Make more robust in multithreaded applications.
        * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
        relocatable-prog-wrapper.
        (find_executable): Pass an O_CLOEXEC flag to open().
        * modules/relocatable-prog (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        getloadavg: Make more robust in multithreaded applications.
        * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
        Simplify use of O_CLOEXEC.
        * modules/getloadavg (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        vma-iter: Make more robust in multithreaded applications.
        * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
        open().
        * modules/vma-iter (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        truncate: Make more robust in multithreaded applications.
        * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().

2020-05-27  Bruno Haible  <bruno@clisp.org>

        pagealign_alloc: Make more robust in multithreaded applications.
        * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
        open().
        * modules/pagealign_alloc (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        openat: Make more robust in multithreaded applications.
        * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().

2020-05-27  Bruno Haible  <bruno@clisp.org>

        at-internal: Make more robust in multithreaded applications.
        * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
        open().

2020-05-27  Bruno Haible  <bruno@clisp.org>

        mountlist: Make more robust in multithreaded applications.
        * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
        open().
        * modules/mountlist (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        login_tty: Make more robust in multithreaded applications.
        * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
        * modules/login_tty (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        javacomp: Make more robust in multithreaded applications.
        * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
        open().
        * modules/javacomp (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        getprogname: Make more robust in multithreaded applications.
        * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
        * modules/getprogname (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        get_progname_of: Make more robust in multithreaded applications.
        * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
        open().
        * modules/get_progname_of (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        get_ppid_of: Make more robust in multithreaded applications.
        * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
        * modules/get_ppid_of (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        get-rusage-as: Make more robust in multithreaded applications.
        * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
        flag to open().
        * modules/get-rusage-as (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        crypto/gc: Make more robust in multithreaded applications.
        * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
        * modules/crypto/gc (Depends-on): Add 'open'.

2020-05-27  Bruno Haible  <bruno@clisp.org>

        copy-file: Make more robust in multithreaded applications.
        * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
        open().

2020-05-27  Bruno Haible  <bruno@clisp.org>

        chown: Make more robust in multithreaded applications.
        * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().

2020-05-27  Bruno Haible  <bruno@clisp.org>

        doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
        * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.

Attachment: 0001-doc-Fix-statement-about-O_CLOEXEC-wrong-since-2017-0.patch
Description: Text Data

Attachment: 0002-chown-Make-more-robust-in-multithreaded-applications.patch
Description: Text Data

Attachment: 0003-copy-file-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data

Attachment: 0004-crypto-gc-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data

Attachment: 0005-get-rusage-as-Make-more-robust-in-multithreaded-appl.patch
Description: Text Data

Attachment: 0006-get_ppid_of-Make-more-robust-in-multithreaded-applic.patch
Description: Text Data

Attachment: 0007-get_progname_of-Make-more-robust-in-multithreaded-ap.patch
Description: Text Data

Attachment: 0008-getprogname-Make-more-robust-in-multithreaded-applic.patch
Description: Text Data

Attachment: 0009-javacomp-Make-more-robust-in-multithreaded-applicati.patch
Description: Text Data

Attachment: 0010-login_tty-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data

Attachment: 0011-mountlist-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data

Attachment: 0012-at-internal-Make-more-robust-in-multithreaded-applic.patch
Description: Text Data

Attachment: 0013-openat-Make-more-robust-in-multithreaded-application.patch
Description: Text Data

Attachment: 0014-pagealign_alloc-Make-more-robust-in-multithreaded-ap.patch
Description: Text Data

Attachment: 0015-truncate-Make-more-robust-in-multithreaded-applicati.patch
Description: Text Data

Attachment: 0016-vma-iter-Make-more-robust-in-multithreaded-applicati.patch
Description: Text Data

Attachment: 0017-getloadavg-Make-more-robust-in-multithreaded-applica.patch
Description: Text Data

Attachment: 0018-relocatable-prog-Make-more-robust-in-multithreaded-a.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]