]> nmode's Git Repositories - signal-cli/commitdiff
Fix removeReceiveHandler to not incorrectly reset the receiveThread
authorAsamK <asamk@gmx.de>
Mon, 8 Nov 2021 13:43:57 +0000 (14:43 +0100)
committerAsamK <asamk@gmx.de>
Mon, 8 Nov 2021 21:16:45 +0000 (22:16 +0100)
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);