diff --git a/common/src/main/java/ctbrec/sites/mfc/MyFreeCamsClient.java b/common/src/main/java/ctbrec/sites/mfc/MyFreeCamsClient.java index ade01494..1e4f5ca5 100644 --- a/common/src/main/java/ctbrec/sites/mfc/MyFreeCamsClient.java +++ b/common/src/main/java/ctbrec/sites/mfc/MyFreeCamsClient.java @@ -56,6 +56,7 @@ public class MyFreeCamsClient { private static MyFreeCamsClient instance; private MyFreeCams mfc; private WebSocket ws; + private Thread keepAlive; private Moshi moshi; private volatile boolean running = false; @@ -562,8 +563,11 @@ public class MyFreeCamsClient { } private void startKeepAlive(WebSocket ws) { - Thread keepAlive = new Thread(() -> { - while (running) { + if (keepAlive != null) { + keepAlive.interrupt(); + } + keepAlive = new Thread(() -> { + while (running && !Thread.currentThread().isInterrupted()) { try { if (!connecting) { LOG.trace("--> NULL to keep the connection alive");