0
1
mirror of https://github.com/radio95-rnt/RadioPlayer.git synced 2026-02-26 21:53:54 +01:00
This commit is contained in:
2025-12-13 19:50:11 +01:00
parent 2cf767a3da
commit 2bc2a8a1f3

View File

@@ -116,10 +116,8 @@ def websocket_server_process(shared_data: dict, imc_q: multiprocessing.Queue, ws
async def handler_wrapper(websocket: ServerConnection): async def handler_wrapper(websocket: ServerConnection):
# register client # register client
clients.add(websocket) clients.add(websocket)
try: try: await ws_handler(websocket, shared_data, imc_q, ws_q)
await ws_handler(websocket, shared_data, imc_q, ws_q) finally: clients.discard(websocket)
finally:
clients.discard(websocket)
async def process_request(websocket: ServerConnection, request: Request): async def process_request(websocket: ServerConnection, request: Request):
if request.path == "/web.html" and (file := Path(__file__, "..", "web.html").resolve()).exists(): if request.path == "/web.html" and (file := Path(__file__, "..", "web.html").resolve()).exists():
data = file.read_bytes() data = file.read_bytes()
@@ -143,15 +141,14 @@ def websocket_server_process(shared_data: dict, imc_q: multiprocessing.Queue, ws
await stop_evt.wait() await stop_evt.wait()
watcher.cancel() watcher.cancel()
server.close() await watcher
ws_q.put(None) ws_q.put(None)
broadcaster.cancel() broadcaster.cancel()
await broadcaster
server.close() server.close()
await server.wait_closed() server.get_loop().close()
await broadcaster
loop = asyncio.new_event_loop() loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop) asyncio.set_event_loop(loop)
@@ -240,7 +237,8 @@ class Module(PlayerModule):
self.ws_process.terminate() self.ws_process.terminate()
self.ws_process.join(timeout=2) self.ws_process.join(timeout=2)
if self.ws_process.is_alive(): while self.ws_process.is_alive():
self.ws_process.kill() self.ws_process.kill()
self.ws_process.close()
module = Module() module = Module()