From a5e46d0d1230cbafd0edfbe00551dd0aa8f8a134 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 19 Jun 2002 07:26:12 +0000 Subject: [PATCH] JavaScript branch callbacks now call JS_MaybeGC (collect garbage) every 100 calls (JAVASCRIPT_GC_FREQUENCY). This fixes the problem of every created object living in memory during the life of a script. --- src/sbbs3/exec.cpp | 3 +++ src/sbbs3/services.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/sbbs3/exec.cpp b/src/sbbs3/exec.cpp index 5685c26f66..3aa2494afa 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 9094979d0f..1a05100c52 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); } -- GitLab