diff options
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 a7ef9c36589..5bab9684a7a 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -1794,6 +1794,12 @@ create_process (process, new_argv, current_dir) | |||
| 1794 | #endif | 1794 | #endif |
| 1795 | if (forkin < 0) | 1795 | if (forkin < 0) |
| 1796 | report_file_error ("Opening pty", Qnil); | 1796 | report_file_error ("Opening pty", Qnil); |
| 1797 | #if defined (RTU) || defined (UNIPLUS) || defined (DONT_REOPEN_PTY) | ||
| 1798 | /* In the case that vfork is defined as fork, the parent process | ||
| 1799 | (Emacs) may send some data before the child process completes | ||
| 1800 | tty options setup. So we setup tty before forking. */ | ||
| 1801 | child_setup_tty (forkout); | ||
| 1802 | #endif /* RTU or UNIPLUS or DONT_REOPEN_PTY */ | ||
| 1797 | #else | 1803 | #else |
| 1798 | forkin = forkout = -1; | 1804 | forkin = forkout = -1; |
| 1799 | #endif /* not USG, or USG_SUBTTY_WORKS */ | 1805 | #endif /* not USG, or USG_SUBTTY_WORKS */ |
| @@ -2078,8 +2084,10 @@ create_process (process, new_argv, current_dir) | |||
| 2078 | #endif /* SIGCHLD */ | 2084 | #endif /* SIGCHLD */ |
| 2079 | #endif /* !POSIX_SIGNALS */ | 2085 | #endif /* !POSIX_SIGNALS */ |
| 2080 | 2086 | ||
| 2087 | #if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY) | ||
| 2081 | if (pty_flag) | 2088 | if (pty_flag) |
| 2082 | child_setup_tty (xforkout); | 2089 | child_setup_tty (xforkout); |
| 2090 | #endif /* not RTU and not UNIPLUS and not DONT_REOPEN_PTY */ | ||
| 2083 | #ifdef WINDOWSNT | 2091 | #ifdef WINDOWSNT |
| 2084 | pid = child_setup (xforkin, xforkout, xforkout, | 2092 | pid = child_setup (xforkin, xforkout, xforkout, |
| 2085 | new_argv, 1, current_dir); | 2093 | new_argv, 1, current_dir); |