aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2004-11-02 10:10:35 +0000
committerKim F. Storm2004-11-02 10:10:35 +0000
commitaba637ec5be01e0210e52f16d22d1ad4c3b27eb8 (patch)
tree64f636313880a19609206ab9758dd7c24bf94151 /src
parentae8bc416df377a08031194848acd6633f407af1b (diff)
downloademacs-aba637ec5be01e0210e52f16d22d1ad4c3b27eb8.tar.gz
emacs-aba637ec5be01e0210e52f16d22d1ad4c3b27eb8.zip
From: YAMAMOTO Mitsuharu
(Fcall_process): Block input around vfork.
Diffstat (limited to 'src')
-rw-r--r--src/callproc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/callproc.c b/src/callproc.c
index 5d7447d94f2..e251fc65941 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -83,6 +83,7 @@ extern int errno;
83#include "process.h" 83#include "process.h"
84#include "syssignal.h" 84#include "syssignal.h"
85#include "systty.h" 85#include "systty.h"
86#include "blockinput.h"
86 87
87#ifdef MSDOS 88#ifdef MSDOS
88#include "msdos.h" 89#include "msdos.h"
@@ -624,6 +625,8 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
624 pid = child_setup (filefd, fd1, fd_error, (char **) new_argv, 625 pid = child_setup (filefd, fd1, fd_error, (char **) new_argv,
625 0, current_dir); 626 0, current_dir);
626#else /* not WINDOWSNT */ 627#else /* not WINDOWSNT */
628 BLOCK_INPUT;
629
627 pid = vfork (); 630 pid = vfork ();
628 631
629 if (pid == 0) 632 if (pid == 0)
@@ -641,6 +644,8 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
641 child_setup (filefd, fd1, fd_error, (char **) new_argv, 644 child_setup (filefd, fd1, fd_error, (char **) new_argv,
642 0, current_dir); 645 0, current_dir);
643 } 646 }
647
648 UNBLOCK_INPUT;
644#endif /* not WINDOWSNT */ 649#endif /* not WINDOWSNT */
645 650
646 /* The MSDOS case did this already. */ 651 /* The MSDOS case did this already. */