From 26856a0b0c347e933a8adf27577d1f54fe2d04f7 Mon Sep 17 00:00:00 2001 From: doronz88 Date: Wed, 11 Sep 2024 20:39:16 +0300 Subject: [PATCH] tunneld: ignore `ConnectionAbortedError` raised from `CoreDeviceProxy` --- pymobiledevice3/tunneld.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pymobiledevice3/tunneld.py b/pymobiledevice3/tunneld.py index a9433fefe..52ac0f2cd 100644 --- a/pymobiledevice3/tunneld.py +++ b/pymobiledevice3/tunneld.py @@ -140,7 +140,8 @@ async def monitor_usbmux_task(self) -> None: continue try: service = CoreDeviceTunnelProxy(create_using_usbmux(mux_device.serial)) - except (MuxException, InvalidServiceError, GetProhibitedError, construct.core.StreamError): + except (MuxException, InvalidServiceError, GetProhibitedError, construct.core.StreamError, + ConnectionAbortedError): continue self.tunnel_tasks[task_identifier] = TunnelTask( udid=mux_device.serial, @@ -380,7 +381,8 @@ async def clear_tunnels() -> fastapi.Response: @self._app.get('/cancel') async def cancel_tunnel(udid: str) -> fastapi.Response: self._tunneld_core.cancel(udid=udid) - data = json.dumps({'operation': 'cancel', 'udid': udid, 'data': True, 'message': f'tunnel {udid} Canceled ...'}) + data = json.dumps( + {'operation': 'cancel', 'udid': udid, 'data': True, 'message': f'tunnel {udid} Canceled ...'}) return generate_http_response(data) @self._app.get('/hello')