[py] Use daemon threads for WebSocket connections#16298
Merged
cgoldberg merged 15 commits intoSeleniumHQ:trunkfrom Nov 20, 2025
Merged
[py] Use daemon threads for WebSocket connections#16298cgoldberg merged 15 commits intoSeleniumHQ:trunkfrom
cgoldberg merged 15 commits intoSeleniumHQ:trunkfrom
Conversation
Contributor
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
Contributor
PR Code Suggestions ✨No code suggestions found for the PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Fixes: #16621
💥 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
daemonflag, 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 threadspy/selenium/webdriver/remote/websocket_connection.py
daemon=Trueparameter to main WebSocket thread creationdaemon=Trueparameter to callback thread creation