From 5b5b91cb016131147ffd75b7fa0ae0a3d34c2bca Mon Sep 17 00:00:00 2001 From: Damien Arrachequesne Date: Mon, 26 Apr 2021 09:12:55 +0200 Subject: [PATCH] test: fix random test failures --- src/main/java/io/socket/client/Manager.java | 27 ++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/io/socket/client/Manager.java b/src/main/java/io/socket/client/Manager.java index 67c2f70..089a2e5 100644 --- a/src/main/java/io/socket/client/Manager.java +++ b/src/main/java/io/socket/client/Manager.java @@ -271,23 +271,28 @@ public class Manager extends Emitter { } }); - if (Manager.this._timeout >= 0) { - final long timeout = Manager.this._timeout; + final long timeout = Manager.this._timeout; + final Runnable onTimeout = new Runnable() { + @Override + public void run() { + logger.fine(String.format("connect attempt timed out after %d", timeout)); + openSub.destroy(); + socket.close(); + socket.emit(Engine.EVENT_ERROR, new SocketIOException("timeout")); + } + }; + + if (timeout == 0) { + EventThread.exec(onTimeout); + return; + } else if (Manager.this._timeout > 0) { logger.fine(String.format("connection attempt will timeout after %d", timeout)); final Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { - EventThread.exec(new Runnable() { - @Override - public void run() { - logger.fine(String.format("connect attempt timed out after %d", timeout)); - openSub.destroy(); - socket.close(); - socket.emit(Engine.EVENT_ERROR, new SocketIOException("timeout")); - } - }); + EventThread.exec(onTimeout); } }, timeout);