diff options
Diffstat (limited to 'gitautodeploy/gitautodeploy.py')
-rw-r--r-- | gitautodeploy/gitautodeploy.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/gitautodeploy/gitautodeploy.py b/gitautodeploy/gitautodeploy.py index f24ec6e..a520a91 100644 --- a/gitautodeploy/gitautodeploy.py +++ b/gitautodeploy/gitautodeploy.py @@ -160,7 +160,13 @@ class GitAutoDeploy(object): logger.warning('No process is currently using port %s.' % self._config['port']) return False - os.kill(pid, signal.SIGKILL) + if hasattr(signal, SIGKILL): + os.kill(pid, signal.SIGKILL) + elif hasattr(signal, SIGHUP): + os.kill(pid, signal.SIGHUP) + else: + os.kill(pid, 1) + return True def create_pid_file(self): @@ -410,10 +416,14 @@ def main(): app = GitAutoDeploy() - signal.signal(signal.SIGHUP, app.signal_handler) - signal.signal(signal.SIGINT, app.signal_handler) - signal.signal(signal.SIGABRT, app.signal_handler) - signal.signal(signal.SIGPIPE, signal.SIG_IGN) + if hasattr(signal, SIGHUP): + signal.signal(signal.SIGHUP, app.signal_handler) + if hasattr(signal, SIGINT): + signal.signal(signal.SIGINT, app.signal_handler) + if hasattr(signal, SIGABRT): + signal.signal(signal.SIGABRT, app.signal_handler) + if hasattr(signal, SIGPIPE) and hasattr(signal, SIG_IGN): + signal.signal(signal.SIGPIPE, signal.SIG_IGN) config = get_config_defaults() |