Skip to content

v2.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Jul 21:12
· 3 commits to main since this release
Release v2.1.0

feat: bounded execution — timeout, abort flag and output cap

Add opt-in bounds to process_t, configured before reading output:
- timeout(ms): wall-clock limit; kill the process on expiry
- abort_with(std::atomic<bool>*): kill when the flag becomes true
- max_output(bytes): cap captured stdout+stderr (keeps draining to avoid deadlock)
- timed_out() / aborted() / truncated(): outcome queries

The child now runs in its own process group, so a timeout/abort kills the whole
tree via killpg (SIGTERM, escalating to SIGKILL). collect() polls on a short
tick only when bounded; with no options set the behaviour is unchanged (blocks
and drains until the child exits).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>