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

ChangeLog
lib/login_tty.c
modules/login_tty

index 906adffe0f1850d5dbeb370e4e9059e29e3b6024..b034e30a6a4d5ebc72cf4b8581458e95335500eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-05-28  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-28  Bruno Haible  <bruno@clisp.org>
 
        javacomp: Make more robust in multithreaded applications.
index 4dfd263c9097eeb273805641eea193cc8d9b9235..581c27670bc4b0bd8dbd0f92acfd5c64213a2fbb 100644 (file)
@@ -55,7 +55,7 @@ login_tty (int slave_fd)
     slave_name = ttyname (slave_fd);
     if (slave_name == NULL)
       return -1;
-    dummy_fd = open (slave_name, O_RDWR);
+    dummy_fd = open (slave_name, O_RDWR | O_CLOEXEC);
     if (dummy_fd < 0)
       return -1;
     close (dummy_fd);
index 59e5e9b2ab587366342a70b9694332ff78e66c1a..551691e2c5dce9764b7168680e41895d994367aa 100644 (file)
@@ -9,6 +9,7 @@ m4/pty.m4
 Depends-on:
 pty
 sys_ioctl
+open            [test $ac_cv_func_login_tty = no]
 
 configure.ac:
 gl_FUNC_LOGIN_TTY