summaryrefslogtreecommitdiff
path: root/lib/realtime.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/realtime.js')
-rw-r--r--lib/realtime.js12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/realtime.js b/lib/realtime.js
index 09da1c8c..23464099 100644
--- a/lib/realtime.js
+++ b/lib/realtime.js
@@ -264,8 +264,10 @@ function finishConnection(socket, note, user) {
//clear finished socket in queue
for (var i = 0; i < connectionSocketQueue.length; i++) {
- if (!connectionSocketQueue[i] || connectionSocketQueue[i].id == socket.id)
+ if (!connectionSocketQueue[i] || connectionSocketQueue[i].id == socket.id) {
connectionSocketQueue.splice(i, 1);
+ i--;
+ }
}
//seek for next socket
isConnectionBusy = false;
@@ -302,8 +304,10 @@ function startConnection(socket) {
socket.disconnect(true);
//clear err socket in queue
for (var i = 0; i < connectionSocketQueue.length; i++) {
- if (!connectionSocketQueue[i] || connectionSocketQueue[i].id == socket.id)
+ if (!connectionSocketQueue[i] || connectionSocketQueue[i].id == socket.id) {
connectionSocketQueue.splice(i, 1);
+ i--;
+ }
}
isConnectionBusy = false;
return logger.error(err);
@@ -390,8 +394,10 @@ function disconnect(socket) {
//clear finished socket in queue
for (var i = 0; i < disconnectSocketQueue.length; i++) {
- if (!disconnectSocketQueue[i] || disconnectSocketQueue[i].id == socket.id)
+ if (!disconnectSocketQueue[i] || disconnectSocketQueue[i].id == socket.id) {
disconnectSocketQueue.splice(i, 1);
+ i--;
+ }
}
//seek for next socket
isDisconnectBusy = false;