fix(watch): ensure TUI is shutdown regardless of exit path #9408
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.
Description
I noticed in #9389 that the TUI wasn't exiting if
watch
exited from anything other than aCtrl-C
(including a direct SIGINT to the process). This PR ensures that we shut down the TUI and the persistent task handle regardless of howwatch.start()
exits.Testing Instructions
turbo_dev watch dev
turbo_dev daemon status
kill $(cat /path/to/pid/file)
Before
![Screenshot 2024-11-07 at 5 42 22 PM](https://private-user-images.githubusercontent.com/4131117/384162730-141831b4-8a82-485e-ac14-c0d72802cf81.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MTYwNDcsIm5iZiI6MTczODgxNTc0NywicGF0aCI6Ii80MTMxMTE3LzM4NDE2MjczMC0xNDE4MzFiNC04YTgyLTQ4NWUtYWMxNC1jMGQ3MjgwMmNmODEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDZUMDQyMjI3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzE5ZDBhZDQxMThmMjYxNDU0NDk1YTI3NmRiMzkwMGVjMDE5NTk2OGE0NTBiNDhjZGMyOGY0MjhmMmRhODg3NSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.iZGPy943nprmm7OfDtjaIHbkjqoLkrPRdOfEz4uqlVA)
After
![Screenshot 2024-11-07 at 5 39 08 PM](https://private-user-images.githubusercontent.com/4131117/384162035-21acddb9-ae6a-4b78-b38d-1cbe0e0d3309.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MTYwNDcsIm5iZiI6MTczODgxNTc0NywicGF0aCI6Ii80MTMxMTE3LzM4NDE2MjAzNS0yMWFjZGRiOS1hZTZhLTRiNzgtYjM4ZC0xY2JlMGUwZDMzMDkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDZUMDQyMjI3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDRlNjYxMGJkYTE3ZTkzMGQ0NjRlNTMyNzA2MWE2MDU2NTIwNDY4YjIwMjUzYmQwODhhYmI5NjNiZTcyOTFlNiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.leC9Zgikct67CAV7UaKm3A-KyzpPTUPSjpbHVcjYcPs)