Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[3.13] gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError …
…in ConnectionHandler; rely on __exit__ (GH-126503) (GH-126571) gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError in ConnectionHandler; rely on __exit__ (GH-126503) If `read()` in the ConnectionHandler thread raises `OSError` (except `ConnectionError`), the ConnectionHandler shuts down the entire ThreadedEchoServer, preventing further connections. It also does that for `EPROTOTYPE` in `wrap_conn`. As far as I can see, this is done to avoid the server thread getting stuck, forgotten, in its accept loop. However, since 2011 (5b95eb9) the server is used as a context manager, and its `__exit__` does `stop()` and `join()`. (I'm not sure if we *always* used `with` since that commit, but currently we do.) Make sure that the context manager *is* used, and remove the `server.stop()` calls from ConnectionHandler. (cherry picked from commit c9cda16) Co-authored-by: Petr Viktorin <[email protected]>
- Loading branch information