From 89439c425c95fca242a1f1974441c0e04d65e5fa Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Wed, 11 Jun 2014 18:21:10 +0000 Subject: Race condition during server shutdown could prevent cleanup of kickme socket. svn path=/trunk/; revision=5864 --- rpki/rtr/server.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rpki/rtr/server.py b/rpki/rtr/server.py index a1aacbee..b3e4fd7c 100644 --- a/rpki/rtr/server.py +++ b/rpki/rtr/server.py @@ -24,6 +24,7 @@ import os import sys import errno import socket +import signal import logging import asyncore import rpki.POW @@ -490,9 +491,11 @@ def server_main(args): server = rpki.rtr.server.ServerChannel(logger = logger, refresh = args.refresh, retry = args.retry, expire = args.expire) kickme = rpki.rtr.server.KickmeChannel(server = server) asyncore.loop(timeout = None) + signal.signal(signal.SIGINT, signal.SIG_IGN) # Theorized race condition except KeyboardInterrupt: sys.exit(0) finally: + signal.signal(signal.SIGINT, signal.SIG_IGN) # Observed race condition if kickme is not None: kickme.cleanup() -- cgit v1.2.3