diff options
| author | Alan Mackenzie | 2017-02-12 10:59:03 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2017-02-12 10:59:03 +0000 |
| commit | f4d5b687150810129b7a1d5b006e31ccf82b691b (patch) | |
| tree | 4229b13800349032697daae3904dc3773e6b7a80 /src/callproc.c | |
| parent | d5514332d4a6092673ce1f78fadcae0c57f7be64 (diff) | |
| parent | 148100d98319499f0ac6f57b8be08cbd14884a5c (diff) | |
| download | emacs-f4d5b687150810129b7a1d5b006e31ccf82b691b.tar.gz emacs-f4d5b687150810129b7a1d5b006e31ccf82b691b.zip | |
Merge branch 'master' into comment-cachecomment-cache
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 90c15de2913..84324c48dcf 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -198,11 +198,11 @@ call_process_cleanup (Lisp_Object buffer) | |||
| 198 | { | 198 | { |
| 199 | kill (-synch_process_pid, SIGINT); | 199 | kill (-synch_process_pid, SIGINT); |
| 200 | message1 ("Waiting for process to die...(type C-g again to kill it instantly)"); | 200 | message1 ("Waiting for process to die...(type C-g again to kill it instantly)"); |
| 201 | immediate_quit = 1; | 201 | |
| 202 | QUIT; | 202 | /* This will quit on C-g. */ |
| 203 | wait_for_termination (synch_process_pid, 0, 1); | 203 | wait_for_termination (synch_process_pid, 0, 1); |
| 204 | |||
| 204 | synch_process_pid = 0; | 205 | synch_process_pid = 0; |
| 205 | immediate_quit = 0; | ||
| 206 | message1 ("Waiting for process to die...done"); | 206 | message1 ("Waiting for process to die...done"); |
| 207 | } | 207 | } |
| 208 | #endif /* !MSDOS */ | 208 | #endif /* !MSDOS */ |
| @@ -726,9 +726,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 726 | process_coding.src_multibyte = 0; | 726 | process_coding.src_multibyte = 0; |
| 727 | } | 727 | } |
| 728 | 728 | ||
| 729 | immediate_quit = 1; | ||
| 730 | QUIT; | ||
| 731 | |||
| 732 | if (0 <= fd0) | 729 | if (0 <= fd0) |
| 733 | { | 730 | { |
| 734 | enum { CALLPROC_BUFFER_SIZE_MIN = 16 * 1024 }; | 731 | enum { CALLPROC_BUFFER_SIZE_MIN = 16 * 1024 }; |
| @@ -749,8 +746,8 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 749 | nread = carryover; | 746 | nread = carryover; |
| 750 | while (nread < bufsize - 1024) | 747 | while (nread < bufsize - 1024) |
| 751 | { | 748 | { |
| 752 | int this_read = emacs_read (fd0, buf + nread, | 749 | int this_read = emacs_read_quit (fd0, buf + nread, |
| 753 | bufsize - nread); | 750 | bufsize - nread); |
| 754 | 751 | ||
| 755 | if (this_read < 0) | 752 | if (this_read < 0) |
| 756 | goto give_up; | 753 | goto give_up; |
| @@ -769,7 +766,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 769 | } | 766 | } |
| 770 | 767 | ||
| 771 | /* Now NREAD is the total amount of data in the buffer. */ | 768 | /* Now NREAD is the total amount of data in the buffer. */ |
| 772 | immediate_quit = 0; | ||
| 773 | 769 | ||
| 774 | if (!nread) | 770 | if (!nread) |
| 775 | ; | 771 | ; |
| @@ -842,8 +838,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 842 | we should have already detected a coding system. */ | 838 | we should have already detected a coding system. */ |
| 843 | display_on_the_fly = true; | 839 | display_on_the_fly = true; |
| 844 | } | 840 | } |
| 845 | immediate_quit = true; | ||
| 846 | QUIT; | ||
| 847 | } | 841 | } |
| 848 | give_up: ; | 842 | give_up: ; |
| 849 | 843 | ||
| @@ -860,8 +854,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 860 | wait_for_termination (pid, &status, fd0 < 0); | 854 | wait_for_termination (pid, &status, fd0 < 0); |
| 861 | #endif | 855 | #endif |
| 862 | 856 | ||
| 863 | immediate_quit = 0; | ||
| 864 | |||
| 865 | /* Don't kill any children that the subprocess may have left behind | 857 | /* Don't kill any children that the subprocess may have left behind |
| 866 | when exiting. */ | 858 | when exiting. */ |
| 867 | synch_process_pid = 0; | 859 | synch_process_pid = 0; |