From d7918637a5d409b3a1ffc3de8c177ff3f14bf91c Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 9 Jan 2019 11:32:45 +0000
Subject: [PATCH] If the poll_systems() callback function returns true, abort
 the poll.

---
 exec/load/sbbsimsg_lib.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/exec/load/sbbsimsg_lib.js b/exec/load/sbbsimsg_lib.js
index 8af2a8c47a..c0a43dde37 100644
--- a/exec/load/sbbsimsg_lib.js
+++ b/exec/load/sbbsimsg_lib.js
@@ -144,14 +144,15 @@ function receive_active_users()
 	return sock.recvfrom(0x10000);
 }
 
+// Cancel listening if callback returns 'true'
 function poll_systems(sent, interval, timeout, callback)
 {
 	var replies = 0;
 	var begin = new Date();
 	for(var loop = 0; replies < sent && new Date().valueOf()-begin.valueOf() < timeout; loop++)
 	{
-		if(callback)
-			callback(loop);
+		if(callback && callback(loop))
+			break;
 		if(!sock.poll(interval))
 			continue;
 
-- 
GitLab