New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TUI stopped working in 1.24.0 #743
Comments
Maybe like in #742, I wonder, does it work with |
@passcod Yep, it works with |
Yeah, that's due to a fix in how process grouping was implemented. It used to do setsid, but was always meant to do sedpgid, as the signal handling was predicated on it being setpgid, and it matches the Windows API better. Unfortunately it also turns out that the setsid behaviour spuriously allowed some (but not all!) things like TUIs. You'll have to use that option from now on, and take care to do signal handling and child reaping if needed. In future watchexec will add another option to allocate and run in a pty, which may help even more for the TUI case, and on Linux another option will spawn in cgroups when available, which will also help for non-pgid/sid process grouping cases. |
Ah, thanks for the explanation |
I use watchexec for TUI development, and after updating to 1.24.0 it stopped working. When I run
watchexec -- cargo run
now, it compiles then hangs with no output shown. On 1.23.0, the TUI would take over the screen as expected. I downgraded to confirm the probably started with 1.24.0I think the easiest way to reproduce this is to run one of ratatui's examples.
watchexec -- cargo run --example block
Here's the log output from that command on 1.24.0:
The text was updated successfully, but these errors were encountered: