]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java
Fix removeReceiveHandler to not incorrectly reset the receiveThread
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / ManagerImpl.java
index 5ee2e7d3b62ed01cd6f42181be41c8cabc4a4b09..9e81f2069c3186a03d149f01cfffb9696c4e1560 100644 (file)
@@ -956,12 +956,12 @@ public class ManagerImpl implements Manager {
     public void removeReceiveHandler(final ReceiveMessageHandler handler) {
         final Thread thread;
         synchronized (messageHandlers) {
-            thread = receiveThread;
-            receiveThread = null;
             messageHandlers.remove(handler);
             if (!messageHandlers.isEmpty() || isReceivingSynchronous) {
                 return;
             }
+            thread = receiveThread;
+            receiveThread = null;
         }
 
         stopReceiveThread(thread);