Thread exiting elegance.

This commit is contained in:
Sean B. Palmer
2008-03-02 15:50:05 +00:00
parent f81eae836d
commit 16ec61f4d6
2 changed files with 12 additions and 4 deletions

View File

@@ -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__

4
irc.py
View File

@@ -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: