Mercurial > emacs
comparison src/process.c @ 16780:e9dc2569cb12
Include blockinput.h.
(create_process): Block input around the fork.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 30 Dec 1996 01:26:08 +0000 |
parents | 309a750fd5c0 |
children | b61cbe595be5 |
comparison
equal
deleted
inserted
replaced
16779:746c7bab3606 | 16780:e9dc2569cb12 |
---|---|
101 #include "process.h" | 101 #include "process.h" |
102 #include "termhooks.h" | 102 #include "termhooks.h" |
103 #include "termopts.h" | 103 #include "termopts.h" |
104 #include "commands.h" | 104 #include "commands.h" |
105 #include "frame.h" | 105 #include "frame.h" |
106 #include "blockinput.h" | |
106 | 107 |
107 Lisp_Object Qprocessp; | 108 Lisp_Object Qprocessp; |
108 Lisp_Object Qrun, Qstop, Qsignal, Qopen, Qclosed; | 109 Lisp_Object Qrun, Qstop, Qsignal, Qopen, Qclosed; |
109 Lisp_Object Qlast_nonmenu_event; | 110 Lisp_Object Qlast_nonmenu_event; |
110 /* Qexit is declared and initialized in eval.c. */ | 111 /* Qexit is declared and initialized in eval.c. */ |
1357 in the table after this function has returned; if it does | 1358 in the table after this function has returned; if it does |
1358 it might cause call-process to hang and subsequent asynchronous | 1359 it might cause call-process to hang and subsequent asynchronous |
1359 processes to get their return values scrambled. */ | 1360 processes to get their return values scrambled. */ |
1360 XSETINT (XPROCESS (process)->pid, -1); | 1361 XSETINT (XPROCESS (process)->pid, -1); |
1361 | 1362 |
1363 BLOCK_INPUT; | |
1364 | |
1362 { | 1365 { |
1363 /* child_setup must clobber environ on systems with true vfork. | 1366 /* child_setup must clobber environ on systems with true vfork. |
1364 Protect it from permanent change. */ | 1367 Protect it from permanent change. */ |
1365 char **save_environ = environ; | 1368 char **save_environ = environ; |
1366 | 1369 |
1525 new_argv, 1, current_dir); | 1528 new_argv, 1, current_dir); |
1526 #endif /* not WINDOWSNT */ | 1529 #endif /* not WINDOWSNT */ |
1527 } | 1530 } |
1528 environ = save_environ; | 1531 environ = save_environ; |
1529 } | 1532 } |
1533 | |
1534 UNBLOCK_INPUT; | |
1530 | 1535 |
1531 /* This runs in the Emacs process. */ | 1536 /* This runs in the Emacs process. */ |
1532 if (pid < 0) | 1537 if (pid < 0) |
1533 { | 1538 { |
1534 if (forkin >= 0) | 1539 if (forkin >= 0) |