X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/af292d8f0ea897ea13470489d51c40acca50fc3e..5a2e37a6e242b920e5647e3d98c2aecb1932f763:/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java diff --git a/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java b/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java index 6b5361e5..d0e4dfec 100644 --- a/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java +++ b/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java @@ -75,6 +75,16 @@ public class JsonRpcDispatcherCommand implements LocalCommand { objectMapper.valueToTree(s), null)), m, ignoreAttachments); + // Maybe this should be handled inside the Manager + while (!m.hasCaughtUpWithOldMessages()) { + try { + synchronized (m) { + m.wait(); + } + } catch (InterruptedException ignored) { + } + } + final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); final var jsonRpcReader = new JsonRpcReader(jsonRpcSender, () -> { @@ -168,8 +178,6 @@ public class JsonRpcDispatcherCommand implements LocalCommand { break; } catch (IOException e) { logger.warn("Receiving messages failed, retrying", e); - } catch (InterruptedException e) { - break; } } });