From 4e5b961f7b5992dc1136235aa28d71c36556835d Mon Sep 17 00:00:00 2001 From: sirmrak Date: Wed, 20 May 2026 22:59:19 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B8=20Ctrl+C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - signal_handler вызывает shutdown() который блокируется - Убран sys.exit(0) из signal handler - serve_forever() завершается через KeyboardInterrupt - finally закрывает сокет корректно --- .../websocket-service/start_web_server.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/websocket-service/start_web_server.py b/examples/websocket-service/start_web_server.py index 1ecb1b6..b794edb 100755 --- a/examples/websocket-service/start_web_server.py +++ b/examples/websocket-service/start_web_server.py @@ -40,9 +40,8 @@ def signal_handler(sig, frame): """Handle Ctrl+C gracefully.""" print("\n👋 Shutting down...") if httpd: + # Use shutdown() to stop serve_forever() httpd.shutdown() - httpd.server_close() - sys.exit(0) def main(): @@ -75,15 +74,16 @@ def main(): ╚══════════════════════════════════════════════════════════╝ """) - with socketserver.TCPServer((args.host, args.port), CustomHandler) as httpd: - print(f"🚀 Server started on http://{args.host}:{args.port}") - try: - httpd.serve_forever() - except KeyboardInterrupt: - pass - finally: - print("\n👋 Server stopped") - httpd.server_close() + httpd = socketserver.TCPServer((args.host, args.port), CustomHandler) + print(f"🚀 Server started on http://{args.host}:{args.port}") + + try: + httpd.serve_forever() + except KeyboardInterrupt: + pass + finally: + print("\n👋 Server stopped") + httpd.server_close() if __name__ == "__main__":