#66/graceful shutdown #74
Merged
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.
Summary
Implements graceful shutdown handling to eliminate errors when closing TrafficLayer or SUMO in any order. Users can now close the TrafficLayer console window (X button), close SUMO first, or use Ctrl+C without encountering error dialogs or crashes.
Related Issues / Tasks
Closes #66
Type of Change
Affected Modules / Components
TrafficLayer/TrafficLayer/mainTrafficLayer.cppShutdownStatestruct for centralized shutdown coordinationperformCleanup()function with proper shutdown sequenceCtrlHandler()to catch all Windows console eventstests/Python/SimpleEchoClient/simple_echo_client.pyTest Cases
Scenario 1: Close TrafficLayer window (X button)
Scenario 2: Close SUMO first
Scenario 3: Ctrl+C shutdown
Scenario 4: Python client shutdown notification
Environment
Only fill in the tools used for testing this PR:
Checklist
Additional Notes (optional)
Implementation Details
Shutdown Sequence:
Bidirectional Detection:
trafficSimulatorClosedflagKey Design Decisions: