X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fprocess-nt.c;h=9c0a4efae9192ae95f21b027f02df9f1029ce624;hp=34da238f9e95dc54ce5255cbe2157cec23503e84;hb=abfb9f2ab68f5f04c605587402e554920b8db230;hpb=02f4d2761a98c5cb9d5b423d2361160a5d8c9ee4 diff --git a/src/process-nt.c b/src/process-nt.c index 34da238..9c0a4ef 100644 --- a/src/process-nt.c +++ b/src/process-nt.c @@ -642,6 +642,9 @@ static void nt_finalize_process_data (Lisp_Process *p, int for_disksave) { assert (!for_disksave); + /* If it's still in the list of processes we are waiting on delete + it. */ + mswindows_unwait_process (p); if (NT_DATA (p)->h_process) CloseHandle (NT_DATA (p)->h_process); } @@ -1051,7 +1054,7 @@ nt_send_process (Lisp_Object proc, struct lstream* lstream) chunklen = Lstream_read (lstream, chunkbuf, 512); if (chunklen <= 0) - break; /* perhaps should abort() if < 0? + break; /* perhaps should ABORT() if < 0? This should never happen. */ /* Lstream_write() will never successfully write less than the @@ -1383,7 +1386,7 @@ vars_of_process_nt (void) &Vmswindows_start_process_share_console /* When nil, new child processes are given a new console. When non-nil, they share the Emacs console; this has the limitation of -allowing only only DOS subprocess to run at a time (whether started directly +allowing only one DOS subprocess to run at a time (whether started directly or indirectly by Emacs), and preventing Emacs from cleanly terminating the subprocess group, but may allow Emacs to interrupt a subprocess that doesn't otherwise respond to interrupts from Emacs.