From fc9e0fbd992c7a3aa7f4bf94c4c9bf50e84db81e Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 21 Jul 2001 14:19:32 +0000 Subject: [PATCH] external() will now terminate the child DOS process if the mutex cannot be acquired or the IOControl call fails. --- src/sbbs3/xtrn.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sbbs3/xtrn.cpp b/src/sbbs3/xtrn.cpp index ea7333e642..68899d88cc 100644 --- a/src/sbbs3/xtrn.cpp +++ b/src/sbbs3/xtrn.cpp @@ -495,6 +495,7 @@ int sbbs_t::external(char* cmdline, long mode, char* startup_dir) // Wait for notification from VXD that new VM has started if((retval=WaitForSingleObject(start_event, 5000))!=WAIT_OBJECT_0) { XTRN_CLEANUP; + TerminateProcess(process_info.hProcess, __LINE__); errormsg(WHERE, ERR_TIMEOUT, "start_event", retval); return(GetLastError()); } @@ -513,6 +514,7 @@ int sbbs_t::external(char* cmdline, long mode, char* startup_dir) NULL // Overlapped I/O )) { XTRN_CLEANUP; + TerminateProcess(process_info.hProcess, __LINE__); errormsg(WHERE, ERR_IOCTL, SBBSEXEC_VXD, SBBSEXEC_IOCTL_COMPLETE); return(GetLastError()); } -- GitLab