From: Bruno Haible Date: Wed, 27 May 2020 18:08:33 +0000 (+0200) Subject: pagealign_alloc: Make more robust in multithreaded applications. X-Git-Tag: v1.0~4036 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=aa9b58000b9f79dd2ab1df7d99bfa398eb606cff;p=gnulib.git 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'. --- diff --git a/ChangeLog b/ChangeLog index 7e30bf4dca..a3543f8a31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2020-05-28 Bruno Haible + + 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-28 Bruno Haible openat: Make more robust in multithreaded applications. diff --git a/lib/pagealign_alloc.c b/lib/pagealign_alloc.c index 1995e9c57e..3bd803e4a8 100644 --- a/lib/pagealign_alloc.c +++ b/lib/pagealign_alloc.c @@ -132,7 +132,7 @@ pagealign_alloc (size_t size) const int flags = MAP_FILE | MAP_PRIVATE; if (fd == -1) { - fd = open ("/dev/zero", O_RDONLY, 0666); + fd = open ("/dev/zero", O_RDONLY | O_CLOEXEC, 0666); if (fd < 0) error (EXIT_FAILURE, errno, _("Failed to open /dev/zero for read")); } diff --git a/modules/pagealign_alloc b/modules/pagealign_alloc index 5209b645f5..b97f9bb2fd 100644 --- a/modules/pagealign_alloc +++ b/modules/pagealign_alloc @@ -12,6 +12,7 @@ error extensions getpagesize gettext-h +open stdlib xalloc unistd