Skip to content

Commit eff292e

Browse files
committed
Merge pull request #21 from tomwilkie/master
Fix some problems calling disconnect before exiting application.
2 parents dfe8acb + dba4346 commit eff292e

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

pusherclient/connection.py

Lines changed: 4 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, reco
1919

2020
self.event_callbacks = {}
2121

22+
self.disconnect_called = False
2223
self.needs_reconnect = False
2324
self.default_reconnect_interval = reconnect_interval
2425
self.reconnect_interval = reconnect_interval
@@ -74,8 +75,10 @@ def bind(self, event_name, callback):
7475

7576
def disconnect(self):
7677
self.needs_reconnect = False
78+
self.disconnect_called = True
7779
if self.socket:
7880
self.socket.close()
81+
self.join()
7982

8083
def reconnect(self, reconnect_interval=None):
8184
if reconnect_interval is None:
@@ -104,7 +107,7 @@ def _connect(self):
104107

105108
self.socket.run_forever()
106109

107-
while self.needs_reconnect:
110+
while self.needs_reconnect and not self.disconnect_called:
108111
self.logger.info("Attempting to connect again in %s seconds."
109112
% self.reconnect_interval)
110113
self.state = "unavailable"

0 commit comments

Comments
 (0)