X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/8f781c019f5f451c9d6323659bb248be335ad0e5..28f735741a26c571da59323f0faceee95b055e3b:/src/main/java/org/asamk/signal/commands/DaemonCommand.java diff --git a/src/main/java/org/asamk/signal/commands/DaemonCommand.java b/src/main/java/org/asamk/signal/commands/DaemonCommand.java index 7988c8ef..7b6f243d 100644 --- a/src/main/java/org/asamk/signal/commands/DaemonCommand.java +++ b/src/main/java/org/asamk/signal/commands/DaemonCommand.java @@ -123,14 +123,17 @@ public class DaemonCommand implements MultiLocalCommand { logger.info("Exported dbus object: " + objectPath); final var thread = new Thread(() -> { - while (true) { + while (!Thread.interrupted()) { try { final var receiveMessageHandler = outputWriter instanceof JsonWriter ? new JsonDbusReceiveMessageHandler(m, (JsonWriter) outputWriter, conn, objectPath) : new DbusReceiveMessageHandler(m, (PlainTextWriter) outputWriter, conn, objectPath); m.receiveMessages(1, TimeUnit.HOURS, false, ignoreAttachments, receiveMessageHandler); + break; } catch (IOException e) { logger.warn("Receiving messages failed, retrying", e); + } catch (InterruptedException ignored) { + break; } } });