diff --git a/exec/load/sbbsimsg_lib.js b/exec/load/sbbsimsg_lib.js index 8af2a8c47a643bc37b863cb9f6558cedc8961759..c0a43dde3796a4485b9820462b20dc955027bb2b 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;