From 32c13913367b3170721d200ea772686f12b7689d Mon Sep 17 00:00:00 2001 From: Leo dev Date: Fri, 25 Apr 2025 23:52:37 +0200 Subject: [PATCH] Fixed crash when exit --- .../saturnclient/saturnclient/auth/Auth.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/saturnclient/saturnclient/auth/Auth.java b/src/main/java/org/saturnclient/saturnclient/auth/Auth.java index 74e7b5a..a918274 100644 --- a/src/main/java/org/saturnclient/saturnclient/auth/Auth.java +++ b/src/main/java/org/saturnclient/saturnclient/auth/Auth.java @@ -117,16 +117,21 @@ public class Auth { private static void startPingThread() { pingThread = new Thread(() -> { try { - while (running) { - Thread.sleep(25000); // 25 seconds - if (running) { - Network.write("ping"); + while (running && !Thread.currentThread().isInterrupted()) { + try { + Thread.sleep(25000); // 25 seconds + if (running) { + Network.write("ping"); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); // Restore interrupt status + break; // Exit the loop on interruption } } - } catch (InterruptedException e) { - SaturnClient.LOGGER.warn("Ping thread interrupted", e); } catch (Exception e) { - SaturnClient.LOGGER.error("Error in ping thread", e); + if (!(e instanceof InterruptedException)) { + SaturnClient.LOGGER.error("Error in ping thread", e); + } } });