From 83b2f5c46f3b932962ba2b0a2cf6936f1e9c9d78 Mon Sep 17 00:00:00 2001 From: Manevolent Date: Fri, 10 Aug 2018 22:20:03 -0400 Subject: [PATCH] Network reader should close if it has to exit --- .../socket/client/AbstractTeamspeakClientSocket.java | 11 +++++++++-- .../github/manevolent/ts3j/ServerConnectionTest.java | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java index 6d3c114..84d6159 100644 --- a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java +++ b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java @@ -866,12 +866,19 @@ public abstract class AbstractTeamspeakClientSocket while (isReading()) { try { readQueue.put(readPacket()); - } catch (Exception e) { + } catch (Throwable e) { if (e instanceof InterruptedException) continue; - Ts3Debugging.debug("Problem reading packet", e); + e.printStackTrace(); + + break; } } + + try { + setState(ClientConnectionState.DISCONNECTED); + } catch (Throwable e1) { + } } } diff --git a/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java b/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java index e327f15..dd5d5ac 100644 --- a/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java +++ b/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java @@ -151,7 +151,7 @@ public class ServerConnectionTest { client.subscribeAll(); - client.waitForState(ClientConnectionState.DISCONNECTED, 10000L); + client.waitForState(ClientConnectionState.DISCONNECTED, 100000000L); } catch (Throwable ex) { ex.printStackTrace(); }