comparison src/process.c @ 83383:2a679c81f552

Merged from miles@gnu.org--gnu-2005 (patch 118-132, 551-577) Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-551 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-552 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-553 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-554 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-555 Remove CVS keywords from newsticker files * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-556 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-557 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-558 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-559 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-560 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-561 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-562 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-563 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-564 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-565 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-566 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-567 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-568 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-569 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-570 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-571 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-572 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-573 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-574 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-575 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-576 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-577 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-118 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-119 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-120 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-121 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-122 Update from CVS: lisp/mm-url.el (mm-url-decode-entities): Fix regexp. * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-123 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-124 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-125 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-126 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-127 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-128 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-129 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-130 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-131 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-132 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-423
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 09 Oct 2005 20:00:17 +0000
parents 532e0a9335a9 375ab086d366
children 03934708f1e9
comparison
equal deleted inserted replaced
83382:7a3090aca393 83383:2a679c81f552
116 116
117 #ifdef HAVE_SYS_WAIT 117 #ifdef HAVE_SYS_WAIT
118 #include <sys/wait.h> 118 #include <sys/wait.h>
119 #endif 119 #endif
120 120
121 #include "lisp.h"
121 #include "systime.h" 122 #include "systime.h"
122 #include "systty.h" 123 #include "systty.h"
123 124
124 #include "lisp.h"
125 #include "window.h" 125 #include "window.h"
126 #include "buffer.h" 126 #include "buffer.h"
127 #include "charset.h" 127 #include "charset.h"
128 #include "coding.h" 128 #include "coding.h"
129 #include "process.h" 129 #include "process.h"
185 185
186 #include "syssignal.h" 186 #include "syssignal.h"
187 187
188 #include "syswait.h" 188 #include "syswait.h"
189 189
190 extern void set_waiting_for_input P_ ((EMACS_TIME *));
191 extern char *get_operating_system_release (); 190 extern char *get_operating_system_release ();
192 191
193 #ifndef USE_CRT_DLL 192 #ifndef USE_CRT_DLL
194 extern int errno; 193 extern int errno;
195 #endif 194 #endif
1791 #else 1790 #else
1792 forkout = forkin = emacs_open (pty_name, O_RDWR, 0); 1791 forkout = forkin = emacs_open (pty_name, O_RDWR, 0);
1793 #endif 1792 #endif
1794 if (forkin < 0) 1793 if (forkin < 0)
1795 report_file_error ("Opening pty", Qnil); 1794 report_file_error ("Opening pty", Qnil);
1795 #if defined (RTU) || defined (UNIPLUS) || defined (DONT_REOPEN_PTY)
1796 /* In the case that vfork is defined as fork, the parent process
1797 (Emacs) may send some data before the child process completes
1798 tty options setup. So we setup tty before forking. */
1799 child_setup_tty (forkout);
1800 #endif /* RTU or UNIPLUS or DONT_REOPEN_PTY */
1796 #else 1801 #else
1797 forkin = forkout = -1; 1802 forkin = forkout = -1;
1798 #endif /* not USG, or USG_SUBTTY_WORKS */ 1803 #endif /* not USG, or USG_SUBTTY_WORKS */
1799 pty_flag = 1; 1804 pty_flag = 1;
1800 } 1805 }
2075 #endif /* ordinary USG */ 2080 #endif /* ordinary USG */
2076 #endif /* not BSD4_1 */ 2081 #endif /* not BSD4_1 */
2077 #endif /* SIGCHLD */ 2082 #endif /* SIGCHLD */
2078 #endif /* !POSIX_SIGNALS */ 2083 #endif /* !POSIX_SIGNALS */
2079 2084
2085 #if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY)
2080 if (pty_flag) 2086 if (pty_flag)
2081 child_setup_tty (xforkout); 2087 child_setup_tty (xforkout);
2088 #endif /* not RTU and not UNIPLUS and not DONT_REOPEN_PTY */
2082 #ifdef WINDOWSNT 2089 #ifdef WINDOWSNT
2083 pid = child_setup (xforkin, xforkout, xforkout, 2090 pid = child_setup (xforkin, xforkout, xforkout,
2084 new_argv, 1, current_dir); 2091 new_argv, 1, current_dir);
2085 #else /* not WINDOWSNT */ 2092 #else /* not WINDOWSNT */
2086 child_setup (xforkin, xforkout, xforkout, 2093 child_setup (xforkin, xforkout, xforkout,