diff --git a/src/sbbs3/xtrn.cpp b/src/sbbs3/xtrn.cpp index ea7333e642dc6b8d7dd3ce1d7591381f88d067e1..68899d88cc5ec5991e22f140e6f3fa11792013c3 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()); }