]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java
Use improved shutdown for receive command
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / internal / ManagerImpl.java
index cbaaaab362f80c699766b09a8d3bede5de38549c..af001f40b0ca115f0f5bb697bb3bc87badc5fb6b 100644 (file)
@@ -1091,6 +1091,20 @@ public class ManagerImpl implements Manager {
         receiveMessages(timeout.orElse(Duration.ofMinutes(1)), timeout.isPresent(), maxMessages.orElse(null), handler);
     }
 
+    @Override
+    public void stopReceiveMessages() {
+        Thread thread = null;
+        synchronized (messageHandlers) {
+            if (isReceivingSynchronous) {
+                thread = receiveThread;
+                receiveThread = null;
+            }
+        }
+        if (thread != null) {
+            stopReceiveThread(thread);
+        }
+    }
+
     private void receiveMessages(
             Duration timeout, boolean returnOnTimeout, Integer maxMessages, ReceiveMessageHandler handler
     ) throws IOException, AlreadyReceivingException {