diff options
author | Reese Moore <ram@vt.edu> | 2011-10-07 16:43:03 -0400 |
---|---|---|
committer | Reese Moore <ram@vt.edu> | 2011-10-07 16:43:03 -0400 |
commit | 64807e132ef0db1191bb61ed92bb5730b58a5114 (patch) | |
tree | a5a8edb53c34e38930d23bfbdb7207bb464f10f6 | |
parent | 4efa325c06fc6166ecfc8014ae4e4a2419896f68 (diff) | |
download | bot-64807e132ef0db1191bb61ed92bb5730b58a5114.tar.gz bot-64807e132ef0db1191bb61ed92bb5730b58a5114.tar.bz2 bot-64807e132ef0db1191bb61ed92bb5730b58a5114.zip |
Make phenny kill its child threads then exit when it receives a SIGTERM signal.
-rwxr-xr-x | __init__.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/__init__.py b/__init__.py index 5699583..fa76316 100755 --- a/__init__.py +++ b/__init__.py @@ -15,6 +15,7 @@ class Watcher(object): def __init__(self): self.child = os.fork() if self.child != 0: + signal.signal(signal.SIGTERM, self.sig_term) self.watch() def watch(self): @@ -27,6 +28,10 @@ class Watcher(object): try: os.kill(self.child, signal.SIGKILL) except OSError: pass + def sig_term(self, signum, frame): + self.kill() + sys.exit() + def run_phenny(config): if hasattr(config, 'delay'): delay = config.delay |