diff options
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2005-09-21 08:03:30 +0000 |
---|---|---|
committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2005-09-21 08:03:30 +0000 |
commit | 21375f1e3352e37082ab1f14e6759134e806ccc0 (patch) | |
tree | b7820aa38202f802a835507594a54189ec50191d /src/process.c | |
parent | 2f2db7cc5821edca922195fde2f3ae9467974a99 (diff) | |
download | emacs-21375f1e3352e37082ab1f14e6759134e806ccc0.tar.gz emacs-21375f1e3352e37082ab1f14e6759134e806ccc0.tar.bz2 emacs-21375f1e3352e37082ab1f14e6759134e806ccc0.zip |
(create_process) [RTU || UNIPLUS || DONT_REOPEN_PTY]:
Setup slave tty options before forking.
Diffstat (limited to 'src/process.c')
-rw-r--r-- | src/process.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c index 18a446e9561..6f41788a45c 100644 --- a/src/process.c +++ b/src/process.c @@ -1793,6 +1793,12 @@ create_process (process, new_argv, current_dir) #endif if (forkin < 0) report_file_error ("Opening pty", Qnil); +#if defined (RTU) || defined (UNIPLUS) || defined (DONT_REOPEN_PTY) + /* In the case that vfork is defined as fork, the parent process + (Emacs) may send some data before the child process completes + tty options setup. So we setup tty before forking. */ + child_setup_tty (forkout); +#endif /* RTU or UNIPLUS or DONT_REOPEN_PTY */ #else forkin = forkout = -1; #endif /* not USG, or USG_SUBTTY_WORKS */ @@ -2077,8 +2083,10 @@ create_process (process, new_argv, current_dir) #endif /* SIGCHLD */ #endif /* !POSIX_SIGNALS */ +#if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY) if (pty_flag) child_setup_tty (xforkout); +#endif /* not RTU and not UNIPLUS and not DONT_REOPEN_PTY */ #ifdef WINDOWSNT pid = child_setup (xforkin, xforkout, xforkout, new_argv, 1, current_dir); |