Commit 03da748
fix: replace print_and_exit() with Err(anyhow!(...))
This fixes a deadlock in tui mode, because of tokio task error propagation. Can be
reproduced by listing an extension under a runtime, but not defining in the extensions:
section.
Flow chain before fix:
- spawned tokio task (ext build) hits stamp validation failure
- calls print_and_exit() → renderer.shutdown()
- shutdown() busy-waits with std::thread::sleep(5ms) for the render loop to stop
- std::thread::sleep() blocks the tokio thread, preventing the render loop task from running
- render loop never sets loop_stopped = true
- deadlock — shutdown() spins forever
Signed-off-by: Beniamin Sandu <b.sandu@peridio.com>1 parent e22c773 commit 03da748
1 file changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
195 | | - | |
196 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
| |||
0 commit comments