aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c
index c4dd87a6b48..349ec26534b 100644
--- a/src/process.c
+++ b/src/process.c
@@ -687,6 +687,15 @@ allocate_pty (char pty_name[PTY_NAME_SIZE])
687 687
688 if (fd >= 0) 688 if (fd >= 0)
689 { 689 {
690#ifdef PTY_OPEN
691 /* Set FD's close-on-exec flag. This is needed even if
692 PT_OPEN calls posix_openpt with O_CLOEXEC, since POSIX
693 doesn't require support for that combination.
694 Multithreaded platforms where posix_openpt ignores
695 O_CLOEXEC (or where PTY_OPEN doesn't call posix_openpt)
696 have a race condition between the PTY_OPEN and here. */
697 fcntl (fd, F_SETFD, FD_CLOEXEC);
698#endif
690 /* check to make certain that both sides are available 699 /* check to make certain that both sides are available
691 this avoids a nasty yet stupid bug in rlogins */ 700 this avoids a nasty yet stupid bug in rlogins */
692#ifdef PTY_TTY_NAME_SPRINTF 701#ifdef PTY_TTY_NAME_SPRINTF