|
@@ -256,9 +256,11 @@ def serve(configuration, logger):
|
|
|
try:
|
|
try:
|
|
|
rlist, _, xlist = select.select(
|
|
rlist, _, xlist = select.select(
|
|
|
sockets, [], sockets, select_timeout)
|
|
sockets, [], sockets, select_timeout)
|
|
|
- except (KeyboardInterrupt, select.error):
|
|
|
|
|
- # SIGINT is handled by signal handler above
|
|
|
|
|
- rlist, xlist = [], []
|
|
|
|
|
|
|
+ except select.error:
|
|
|
|
|
+ continue
|
|
|
|
|
+ except KeyboardInterrupt:
|
|
|
|
|
+ shutdown()
|
|
|
|
|
+ continue
|
|
|
if xlist:
|
|
if xlist:
|
|
|
raise RuntimeError("unhandled socket error")
|
|
raise RuntimeError("unhandled socket error")
|
|
|
if rlist:
|
|
if rlist:
|