diff options
author | Nickolas Lloyd <ultrageek.lloyd@gmail.com> | 2017-02-01 22:31:55 -0500 |
---|---|---|
committer | Nickolas Lloyd <ultrageek.lloyd@gmail.com> | 2017-02-01 22:31:55 -0500 |
commit | 9a15b5509abb49a11c97c1101ad216f4ef258368 (patch) | |
tree | 7311337d92833cb8f233eaa696a967a15a306a80 /src/callproc.c | |
parent | 5d8f2548ceaa5a0b33c08a39f1d6c11071ec63aa (diff) | |
parent | 70d36dda26465b43c1a63e8e13153e070af86456 (diff) | |
download | emacs-nick.lloyd-bytecode-jit.tar.gz |
Merge branch 'master' into nick.lloyd-bytecode-jitnick.lloyd-bytecode-jit
Diffstat (limited to 'src/callproc.c')
-rw-r--r-- | src/callproc.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/callproc.c b/src/callproc.c index 301ccf383b5..84324c48dcf 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -198,11 +198,11 @@ call_process_cleanup (Lisp_Object buffer) { kill (-synch_process_pid, SIGINT); message1 ("Waiting for process to die...(type C-g again to kill it instantly)"); - immediate_quit = true; - maybe_quit (); + + /* This will quit on C-g. */ wait_for_termination (synch_process_pid, 0, 1); + synch_process_pid = 0; - immediate_quit = false; message1 ("Waiting for process to die...done"); } #endif /* !MSDOS */ @@ -726,9 +726,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, process_coding.src_multibyte = 0; } - immediate_quit = true; - maybe_quit (); - if (0 <= fd0) { enum { CALLPROC_BUFFER_SIZE_MIN = 16 * 1024 }; @@ -749,8 +746,8 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, nread = carryover; while (nread < bufsize - 1024) { - int this_read = emacs_read (fd0, buf + nread, - bufsize - nread); + int this_read = emacs_read_quit (fd0, buf + nread, + bufsize - nread); if (this_read < 0) goto give_up; @@ -769,7 +766,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, } /* Now NREAD is the total amount of data in the buffer. */ - immediate_quit = false; if (!nread) ; @@ -842,8 +838,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, we should have already detected a coding system. */ display_on_the_fly = true; } - immediate_quit = true; - maybe_quit (); } give_up: ; @@ -860,8 +854,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, wait_for_termination (pid, &status, fd0 < 0); #endif - immediate_quit = false; - /* Don't kill any children that the subprocess may have left behind when exiting. */ synch_process_pid = 0; |