From a8d6aaf6abfb64b75cab8607a33d224ac4825dd6 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Fri, 3 Aug 2018 06:27:06 +0000 Subject: [PATCH] Fix conditions where event log messages could still be sent to the terminal server log output/window. Also added comment about an observed exception upon shutdown with regards to the node_threads_running counter (protected int) being accessed after destruction. --- src/sbbs3/main.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 7b741c2341..0fd05274e9 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -929,7 +929,7 @@ js_write(JSContext *cx, uintN argc, jsval *arglist) if(cstr==NULL) return(JS_FALSE); rc=JS_SUSPENDREQUEST(cx); - if(sbbs->online==ON_LOCAL) + if(!sbbs->online) sbbs->lputs(LOG_INFO, cstr); else sbbs->bputs(cstr); @@ -1015,7 +1015,7 @@ js_printf(JSContext *cx, uintN argc, jsval *arglist) } rc=JS_SUSPENDREQUEST(cx); - if(sbbs->online==ON_LOCAL) + if(!sbbs->online) sbbs->lputs(LOG_INFO, p); else sbbs->bputs(p); @@ -1046,7 +1046,7 @@ js_alert(JSContext *cx, uintN argc, jsval *arglist) return(JS_FALSE); rc=JS_SUSPENDREQUEST(cx); - if(sbbs->online==ON_LOCAL) + if(!sbbs->online) lputs(LOG_WARNING, cstr); else { sbbs->attr(sbbs->cfg.color[clr_err]); @@ -4564,6 +4564,18 @@ void node_thread(void* arg) else lprintf(LOG_WARNING,"Node %d !ORPHANED I/O THREAD(s)",sbbs->cfg.node_num); + /* crash here July-27-2018: + ntdll.dll!77282e19() Unknown + [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] + [External Code] + sbbs.dll!pthread_mutex_lock(_RTL_CRITICAL_SECTION * mutex) Line 171 C + sbbs.dll!protected_uint32_adjust(protected_uint32_t * i, int adjustment) Line 244 C + sbbs.dll!update_clients() Line 185 C++ +> sbbs.dll!node_thread(void * arg) Line 4568 C++ + [External Code] + + node_threads_running {value=0 mutex={DebugInfo=0x00000000 <NULL> LockCount=-6 RecursionCount=0 ...} } protected_uint32_t + */ update_clients(); thread_down(); } -- GitLab