Fix signal handling on Windows

This commit is contained in:
nyuszika7h 2014-12-30 21:18:49 +01:00
parent 4f4a3f82a2
commit 740d8a6e33

View File

@ -111,19 +111,26 @@ if botconfig.DEBUG_MODE:
def connect_callback(cli): def connect_callback(cli):
def handler(signum, frame): SIGUSR1 = getattr(signal, "SIGUSR1", None)
SIGUSR2 = getattr(signal, "SIGUSR2", None)
def sighandler(signum, frame):
if signum in (signal.SIGINT, signal.SIGTERM): if signum in (signal.SIGINT, signal.SIGTERM):
forced_exit(cli, "<console>", botconfig.CHANNEL, "") forced_exit(cli, "<console>", botconfig.CHANNEL, "")
elif signum == signal.SIGUSR1: elif signum == SIGUSR1:
restart_program(cli, "<console>", botconfig.CHANNEL, "") restart_program(cli, "<console>", botconfig.CHANNEL, "")
elif signum == signal.SIGUSR2: elif signum == SIGUSR2:
print("Scheduling aftergame restart") print("Scheduling aftergame restart")
aftergame(cli, "<console>", "frestart") aftergame(cli, "<console>", "frestart")
signal.signal(signal.SIGINT, handler) signal.signal(signal.SIGINT, sighandler)
signal.signal(signal.SIGTERM, handler) signal.signal(signal.SIGTERM, sighandler)
signal.signal(signal.SIGUSR1, handler)
signal.signal(signal.SIGUSR2, handler) if SIGUSR1:
signal.signal(SIGUSR1, sighandler)
if SIGUSR2:
signal.signal(SIGUSR2, sighandler)
to_be_devoiced = [] to_be_devoiced = []
cmodes = [] cmodes = []