[py] Use daemon threads for WebSocket connections #16298
+2
β2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
User description
π Related Issues
Fixes #16294
π₯ What does this PR do?
This PR makes the threads used for WebSockets into "daemon threads". This probably doesn't make much practical difference, but it will alleviate an annoying condition where you just want to exit a program, but for some reason the WebSocket connection or callback is hanging.
With the
daemon
flag, all threads will be abruptly killed on interpreter shutdown.See: #16294 for more information
π Types of changes
PR Type
Bug fix
Description
Convert WebSocket threads to daemon threads for proper shutdown
Prevents hanging threads from blocking interpreter exit
Applies to both main WebSocket connection and callback threads
Diagram Walkthrough
File Walkthrough
websocket_connection.py
Convert WebSocket threads to daemon threads
Β Β Β Β Β Β Β Β Β Β Β Β Β Βpy/selenium/webdriver/remote/websocket_connection.py
daemon=True
parameter to main WebSocket thread creationdaemon=True
parameter to callback thread creation