]> Savannah Git Hosting - gnulib.git/commitdiff
pagealign_alloc: Make more robust in multithreaded applications.
authorBruno Haible <bruno@clisp.org>
Wed, 27 May 2020 18:08:33 +0000 (20:08 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 28 May 2020 19:40:15 +0000 (21:40 +0200)
* lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
open().
* modules/pagealign_alloc (Depends-on): Add 'open'.

ChangeLog
lib/pagealign_alloc.c
modules/pagealign_alloc

index 7e30bf4dca653120d5ab7358f66fe6affef26283..a3543f8a3139f6483fe7e744c9ac5b8d79da4434 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2020-05-28  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-28  Bruno Haible  <bruno@clisp.org>
 
        openat: Make more robust in multithreaded applications.
index 1995e9c57e549504611ef5baa768c3518283b963..3bd803e4a8f622083177b52348acb6f9acbd63c7 100644 (file)
@@ -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"));
     }
index 5209b645f5c2abaf685ce5f224c8e02aa7177d69..b97f9bb2fdcc6658eeb50781edd35e3d815480f7 100644 (file)
@@ -12,6 +12,7 @@ error
 extensions
 getpagesize
 gettext-h
+open
 stdlib
 xalloc
 unistd