diff options
Diffstat (limited to 'kvmd')
-rw-r--r-- | kvmd/apps/kvmd/server.py | 4 | ||||
-rw-r--r-- | kvmd/apps/kvmd/streamer.py | 2 | ||||
-rw-r--r-- | kvmd/plugins/auth/http.py | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/kvmd/apps/kvmd/server.py b/kvmd/apps/kvmd/server.py index 67207152..16af2d9c 100644 --- a/kvmd/apps/kvmd/server.py +++ b/kvmd/apps/kvmd/server.py @@ -574,6 +574,8 @@ class Server: # pylint: disable=too-many-instance-attributes logger.info("Cleaning up %s ...", type(obj).__name__) try: await obj.cleanup() # type: ignore + except asyncio.CancelledError: # pylint: disable=try-except-raise + raise except Exception: logger.exception("Cleanup error") @@ -605,6 +607,8 @@ class Server: # pylint: disable=too-many-instance-attributes remote: Optional[str] = (ws._req.remote if ws._req is not None else None) # pylint: disable=protected-access get_logger().info("Removed client socket: remote=%s; id=%d; active=%d", remote, id(ws), len(self.__sockets)) await ws.close() + except asyncio.CancelledError: # pylint: disable=try-except-raise + raise except Exception: pass diff --git a/kvmd/apps/kvmd/streamer.py b/kvmd/apps/kvmd/streamer.py index 4afc018c..ff0d92f0 100644 --- a/kvmd/apps/kvmd/streamer.py +++ b/kvmd/apps/kvmd/streamer.py @@ -128,6 +128,8 @@ class Streamer: # pylint: disable=too-many-instance-attributes state = (await response.json())["result"] except (aiohttp.ClientConnectionError, aiohttp.ServerConnectionError): pass + except asyncio.CancelledError: # pylint: disable=try-except-raise + raise except Exception: get_logger().exception("Invalid streamer response from /state") return { diff --git a/kvmd/plugins/auth/http.py b/kvmd/plugins/auth/http.py index 85156a1a..bc391d79 100644 --- a/kvmd/plugins/auth/http.py +++ b/kvmd/plugins/auth/http.py @@ -20,6 +20,8 @@ # ========================================================================== # +import asyncio + from typing import Dict from typing import Optional @@ -86,6 +88,8 @@ class Plugin(BaseAuthService): response.raise_for_status() assert response.status == 200 return True + except asyncio.CancelledError: # pylint: disable=try-except-raise + raise except Exception: get_logger().exception("Failed HTTP auth request for user %r", user) return False |