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