>From beca2cc498f76ac3449969fba04ede9fe205fbfa Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Wed, 27 May 2020 20:01:30 +0200 Subject: [PATCH 10/18] 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'. --- ChangeLog | 6 ++++++ lib/login_tty.c | 2 +- modules/login_tty | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8d139b4..7c7d6b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2020-05-27 Bruno Haible + 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 + javacomp: Make more robust in multithreaded applications. * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to open(). diff --git a/lib/login_tty.c b/lib/login_tty.c index 4dfd263..581c276 100644 --- a/lib/login_tty.c +++ b/lib/login_tty.c @@ -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); diff --git a/modules/login_tty b/modules/login_tty index 59e5e9b..551691e 100644 --- a/modules/login_tty +++ b/modules/login_tty @@ -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 -- 2.7.4