X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/0aa2630fac731241c383caa14eec3df5f93d6d94..3187ba1c4f28d6d24a4a843ca0166ec868486fc8:/src/callproc.c diff --git a/src/callproc.c b/src/callproc.c index 5d7447d94f..6027ccdda9 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -1,6 +1,6 @@ /* Synchronous subprocess invocation for GNU Emacs. - Copyright (C) 1985,86,87,88,93,94,95,99, 2000,01,02,03,04 - Free Software Foundation, Inc. + Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, + 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -83,6 +83,7 @@ extern int errno; #include "process.h" #include "syssignal.h" #include "systty.h" +#include "blockinput.h" #ifdef MSDOS #include "msdos.h" @@ -129,10 +130,6 @@ int synch_process_termsig; /* If synch_process_death is zero, this is exit code of synchronous subprocess. */ int synch_process_retcode; - -extern Lisp_Object Vdoc_file_name; - -extern Lisp_Object Vfile_name_coding_system, Vdefault_file_name_coding_system; /* Clean up when exiting Fcall_process. On MSDOS, delete the temporary file on any kind of termination. @@ -624,6 +621,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 +640,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. */