diff --git a/src/pydase/client/client.py b/src/pydase/client/client.py index 620d2df..57d4c65 100644 --- a/src/pydase/client/client.py +++ b/src/pydase/client/client.py @@ -33,7 +33,10 @@ class NotifyDict(TypedDict): def asyncio_loop_thread(loop: asyncio.AbstractEventLoop) -> None: asyncio.set_event_loop(loop) - loop.run_forever() + try: + loop.run_forever() + finally: + loop.close() class Client: diff --git a/src/pydase/server/server.py b/src/pydase/server/server.py index 03887a3..508f328 100644 --- a/src/pydase/server/server.py +++ b/src/pydase/server/server.py @@ -182,7 +182,10 @@ class Server: This method should be called to start the server after it's been instantiated. """ - self._loop.run_until_complete(self.serve()) + try: + self._loop.run_until_complete(self.serve()) + finally: + self._loop.close() async def serve(self) -> None: process_id = os.getpid()