Fix SystemExit traceback during atexit cleanup on Ctrl+C
The browser_tool signal handler calls sys.exit(130) which raises SystemExit. When this fires during terminal_tool's atexit cleanup (specifically during _cleanup_thread.join()), it produces an unhandled traceback. Wrapping the join in a try/except suppresses the race without changing shutdown behavior. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -617,7 +617,10 @@ def _stop_cleanup_thread():
|
||||
global _cleanup_running
|
||||
_cleanup_running = False
|
||||
if _cleanup_thread is not None:
|
||||
_cleanup_thread.join(timeout=5)
|
||||
try:
|
||||
_cleanup_thread.join(timeout=5)
|
||||
except (SystemExit, KeyboardInterrupt):
|
||||
pass
|
||||
|
||||
|
||||
def get_active_environments_info() -> Dict[str, Any]:
|
||||
|
||||
Reference in New Issue
Block a user