generated from nhcarrigan/template
chore: CLI v2.1.75–v2.1.80 audit and support (#223–#232) #233
@@ -603,12 +603,13 @@ impl WslBridge {
|
||||
);
|
||||
|
||||
// Watchdog: if system:init never arrives the process is truly hung (e.g. a silent crash
|
||||
// after spawning). After 5 minutes we kill it so the user isn't stuck forever.
|
||||
// handle_stdout will surface the error when stdout closes after the kill.
|
||||
// after spawning). After 30 seconds we kill it so the user is not stuck forever.
|
||||
// The CLI v2.1.79 stdin-hang fix means startup is reliably fast; 30 s is a generous
|
||||
// safety net rather than a workaround for a known hang.
|
||||
let process_watchdog = self.process.clone();
|
||||
let received_init_watchdog = self.received_init.clone();
|
||||
thread::spawn(move || {
|
||||
thread::sleep(Duration::from_secs(60));
|
||||
thread::sleep(Duration::from_secs(30));
|
||||
if !received_init_watchdog.load(Ordering::SeqCst) {
|
||||
if let Some(mut proc) = process_watchdog.lock().take() {
|
||||
let _ = proc.kill();
|
||||
|
||||
Reference in New Issue
Block a user