Skip to content

Commit dba4346

Browse files
committed
Add flag to signal disconnection, as assignment to the needs_reconnect flag can race with on_error.
1 parent 286bc94 commit dba4346

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

pusherclient/connection.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def __init__(self, event_handler, url, log_level=logging.INFO, daemon=True):
1919

2020
self.event_callbacks = {}
2121

22+
self.disconnect_called = False
2223
self.needs_reconnect = False
2324
self.reconnect_interval = 10
2425

@@ -73,6 +74,7 @@ def bind(self, event_name, callback):
7374

7475
def disconnect(self):
7576
self.needs_reconnect = False
77+
self.disconnect_called = True
7678
if self.socket:
7779
self.socket.close()
7880
self.join()
@@ -101,7 +103,7 @@ def _connect(self):
101103

102104
self.socket.run_forever()
103105

104-
while self.needs_reconnect:
106+
while self.needs_reconnect and not self.disconnect_called:
105107
self.logger.info("Attempting to connect again in %s seconds."
106108
% self.reconnect_interval)
107109
self.state = "unavailable"

0 commit comments

Comments
 (0)