diff --git a/radicale/__main__.py b/radicale/__main__.py index cc9cc49..b5542d4 100644 --- a/radicale/__main__.py +++ b/radicale/__main__.py @@ -256,9 +256,11 @@ def serve(configuration, logger): try: rlist, _, xlist = select.select( 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: raise RuntimeError("unhandled socket error") if rlist: