From ddcf3a47f8df9175a0819019ec64fd73785b6151 Mon Sep 17 00:00:00 2001 From: Alex Grintsvayg Date: Wed, 2 Aug 2017 15:51:25 -0400 Subject: [PATCH] dont ignore SIGTERM/SIGINT when already shutting down --- lbrynet/daemon/Daemon.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lbrynet/daemon/Daemon.py b/lbrynet/daemon/Daemon.py index 882360785..ca21a70b1 100644 --- a/lbrynet/daemon/Daemon.py +++ b/lbrynet/daemon/Daemon.py @@ -8,6 +8,7 @@ import urllib import json import textwrap import random +import signal from twisted.web import server from twisted.internet import defer, threads, error, reactor @@ -385,7 +386,15 @@ class Daemon(AuthJSONRPCServer): except OSError: pass + @staticmethod + def _already_shutting_down(sig_num, frame): + log.info("Already shutting down") + def _shutdown(self): + # ignore INT/TERM signals once shutdown has started + signal.signal(signal.SIGINT, self._already_shutting_down) + signal.signal(signal.SIGTERM, self._already_shutting_down) + log.info("Closing lbrynet session") log.info("Status at time of shutdown: " + self.startup_status[0]) self.looping_call_manager.shutdown()