Thread exiting elegance.
This commit is contained in:
+9
-3
@@ -38,8 +38,12 @@ def run_phenny(config):
|
||||
|
||||
Watcher()
|
||||
while True:
|
||||
connect(config)
|
||||
if not isinstance(delay, int): break
|
||||
try: connect(config)
|
||||
except KeyboardInterrupt:
|
||||
sys.exit()
|
||||
|
||||
if not isinstance(delay, int):
|
||||
break
|
||||
|
||||
warning = 'Warning: Disconnected. Reconnecting in %s seconds...' % delay
|
||||
print >> sys.stderr, warning
|
||||
@@ -47,7 +51,9 @@ def run_phenny(config):
|
||||
|
||||
def run(config):
|
||||
t = threading.Thread(target=run_phenny, args=(config,))
|
||||
t.start()
|
||||
if hasattr(t, 'run'):
|
||||
t.run()
|
||||
else: t.start()
|
||||
|
||||
if __name__ == '__main__':
|
||||
print __doc__
|
||||
|
||||
@@ -65,7 +65,9 @@ class Bot(asynchat.async_chat):
|
||||
print >> sys.stderr, message,
|
||||
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.connect((host, port))
|
||||
asyncore.loop()
|
||||
try: asyncore.loop()
|
||||
except KeyboardInterrupt:
|
||||
sys.exit()
|
||||
|
||||
def handle_connect(self):
|
||||
if self.verbose:
|
||||
|
||||
Reference in New Issue
Block a user