diff --git a/src/sbbs3/xtrn.cpp b/src/sbbs3/xtrn.cpp index 84416856b0896d1e6806176f0106c13039be6543..8833a646a5c706a86df676bc254e2b01c41a596c 100644 --- a/src/sbbs3/xtrn.cpp +++ b/src/sbbs3/xtrn.cpp @@ -598,6 +598,8 @@ int sbbs_t::external(char* cmdline, long mode, char* startup_dir) // Executing app in foreground?, monitor retval=STILL_ACTIVE; while(!(mode&EX_BG)) { + if(mode&EX_CHKTIME) + gettimeleft(); if(!online && !(mode&EX_OFFLINE)) { // Tell VXD/VDD and external that user hung-up if(was_online) { sprintf(str,"%s hung-up in external program",useron.alias); @@ -1018,6 +1020,9 @@ int sbbs_t::external(char* cmdline, long mode, char* startup_dir) while(!terminated) { if(waitpid(pid, &i, WNOHANG)!=0) /* child exited */ break; + + if(mode&EX_CHKTIME) + gettimeleft(); if(!online && !(mode&EX_OFFLINE)) { sprintf(str,"%s hung-up in external program",useron.alias);