- Add Watchdog module with 4 timeout types: * PTY first-output timeout (90s default) * Stream-json first-output timeout (90s default) * Overall session timeout (3600s default) * Stop hook watchdog timeout (120s default) - Timeout thread monitors child and sends SIGTERM on deadline - Main thread detects timeout, kills child (SIGTERM→SIGKILL), exits non-zero (code 3) - Clear diagnostics to stderr with specific timeout descriptions - CleanupGuard ensures temp dir/FIFO removal on all exit paths - Add CLI flags: --timeout, --first-output-timeout, --stream-json-timeout, --stop-hook-timeout - Integration tests verify timeout fires and cleanup succeeds This prevents indefinite hangs regardless of why child wedges. Bead-Id: bf-2f5
14 lines
229 B
Rust
14 lines
229 B
Rust
pub mod check;
|
|
pub mod cli;
|
|
pub mod config;
|
|
pub mod emitter;
|
|
pub mod error;
|
|
pub mod event_loop;
|
|
pub mod hook;
|
|
pub mod poller;
|
|
pub mod pty;
|
|
pub mod session;
|
|
pub mod startup;
|
|
pub mod terminal;
|
|
pub mod transcript;
|
|
pub mod watchdog;
|