summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-06-07 17:26:51 +0000
committerRichard M. Stallman <rms@gnu.org>1996-06-07 17:26:51 +0000
commitb4be69268cd70b70e8e581321db7b9fb664276a3 (patch)
tree43e37a6f1ba7325c75c13a0c07df3bc7d6e1c113
parent106605f27b5532ac82e1b014b89c4a198c8b8469 (diff)
downloademacs-b4be69268cd70b70e8e581321db7b9fb664276a3.tar.gz
(sys_kill): Don't try to terminate a DOS process.
-rw-r--r--src/w32proc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/w32proc.c b/src/w32proc.c
index 62b373e642f..1f8e8353238 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -1055,9 +1055,11 @@ sys_kill (int pid, int sig)
else
{
/* Kill the process. On Win32 this doesn't kill child processes
- so it doesn't work very well for shells which is why it's
- not used in every case. */
- if (!TerminateProcess (proc_hand, 0xff))
+ so it doesn't work very well for shells which is why it's not
+ used in every case. Also, don't try to terminate DOS processes
+ (on Win95), because this will hang Emacs. */
+ if (!(cp && cp->is_dos_process)
+ && !TerminateProcess (proc_hand, 0xff))
{
DebPrint (("sys_kill.TerminateProcess returned %d "
"for pid %lu\n", GetLastError (), pid));