Thread exiting elegance.

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