diff --git a/src/sbbs3/exec.cpp b/src/sbbs3/exec.cpp index 5685c26f66d4b416b5c6bca6001f305273bb883e..3aa2494afaa94664e09f2f3674a7e794601695f8 100644 --- a/src/sbbs3/exec.cpp +++ b/src/sbbs3/exec.cpp @@ -550,6 +550,9 @@ js_BranchCallback(JSContext *cx, JSScript *script) if(!(sbbs->js_loop%JAVASCRIPT_YIELD_FREQUENCY)) mswait(1); + if(!(sbbs->js_loop%JAVASCRIPT_GC_FREQUENCY)) + JS_MaybeGC(cx); + return(JS_TRUE); } diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 9094979d0f42f428640eeea87e87237e29ec8ce9..1a05100c5276452e2c5233d1aaa23ba582cf4de9 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -558,6 +558,9 @@ js_BranchCallback(JSContext *cx, JSScript *script) if(!(client->js_loop%JAVASCRIPT_YIELD_FREQUENCY)) mswait(1); + if(!(client->js_loop%JAVASCRIPT_GC_FREQUENCY)) + JS_MaybeGC(cx); + return(JS_TRUE); }