|
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.
0001-doc-Fix-statement-about-O_CLOEXEC-wrong-since-2017-0.patch
Description: Text Data
0002-chown-Make-more-robust-in-multithreaded-applications.patch
Description: Text Data
0003-copy-file-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data
0004-crypto-gc-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data
0005-get-rusage-as-Make-more-robust-in-multithreaded-appl.patch
Description: Text Data
0006-get_ppid_of-Make-more-robust-in-multithreaded-applic.patch
Description: Text Data
0007-get_progname_of-Make-more-robust-in-multithreaded-ap.patch
Description: Text Data
0008-getprogname-Make-more-robust-in-multithreaded-applic.patch
Description: Text Data
0009-javacomp-Make-more-robust-in-multithreaded-applicati.patch
Description: Text Data
0010-login_tty-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data
0011-mountlist-Make-more-robust-in-multithreaded-applicat.patch
Description: Text Data
0012-at-internal-Make-more-robust-in-multithreaded-applic.patch
Description: Text Data
0013-openat-Make-more-robust-in-multithreaded-application.patch
Description: Text Data
0014-pagealign_alloc-Make-more-robust-in-multithreaded-ap.patch
Description: Text Data
0015-truncate-Make-more-robust-in-multithreaded-applicati.patch
Description: Text Data
0016-vma-iter-Make-more-robust-in-multithreaded-applicati.patch
Description: Text Data
0017-getloadavg-Make-more-robust-in-multithreaded-applica.patch
Description: Text Data
0018-relocatable-prog-Make-more-robust-in-multithreaded-a.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |