Fix removeReceiveHandler to not incorrectly reset the receiveThread

This commit is contained in:
AsamK 2021-11-08 14:43:57 +01:00
parent 5dd602614c
commit e495afcff5

View file

@ -956,12 +956,12 @@ public class ManagerImpl implements Manager {
public void removeReceiveHandler(final ReceiveMessageHandler handler) { public void removeReceiveHandler(final ReceiveMessageHandler handler) {
final Thread thread; final Thread thread;
synchronized (messageHandlers) { synchronized (messageHandlers) {
thread = receiveThread;
receiveThread = null;
messageHandlers.remove(handler); messageHandlers.remove(handler);
if (!messageHandlers.isEmpty() || isReceivingSynchronous) { if (!messageHandlers.isEmpty() || isReceivingSynchronous) {
return; return;
} }
thread = receiveThread;
receiveThread = null;
} }
stopReceiveThread(thread); stopReceiveThread(thread);