]> code.delx.au - gnu-emacs/commitdiff
From: YAMAMOTO Mitsuharu
authorKim F. Storm <storm@cua.dk>
Tue, 2 Nov 2004 10:10:35 +0000 (10:10 +0000)
committerKim F. Storm <storm@cua.dk>
Tue, 2 Nov 2004 10:10:35 +0000 (10:10 +0000)
(Fcall_process): Block input around vfork.

src/callproc.c

index 5d7447d94f28a1a594b9b440d9df59eb452d2673..e251fc65941968419d7b2bc40260a5b1678f52c4 100644 (file)
@@ -83,6 +83,7 @@ extern int errno;
 #include "process.h"
 #include "syssignal.h"
 #include "systty.h"
+#include "blockinput.h"
 
 #ifdef MSDOS
 #include "msdos.h"
@@ -624,6 +625,8 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
     pid = child_setup (filefd, fd1, fd_error, (char **) new_argv,
                       0, current_dir);
 #else  /* not WINDOWSNT */
+    BLOCK_INPUT;
+
     pid = vfork ();
 
     if (pid == 0)
@@ -641,6 +644,8 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)  */)
        child_setup (filefd, fd1, fd_error, (char **) new_argv,
                     0, current_dir);
       }
+
+    UNBLOCK_INPUT;
 #endif /* not WINDOWSNT */
 
     /* The MSDOS case did this already.  */