process pool: pipe block-buffering can hide stdout until 4KB accumulates
Open
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 17
Description
Came up while planning the optative-process-pool extraction.
When a child's stdout isn't a TTY, libc switches to block buffering by default (typically 4KB). Reading line by line from the parent appears to hang until enough output piles up on the child side. The README will warn about this so users know to flush from the child, or use `stdbuf -oL` for unmodified binaries.
Longer-term fix is to optionally allocate a PTY for stdout/stderr when low latency matters. Needs `forkpty` / `openpty` via `nix` or similar.
Drafted by Claude (AI assistant) during a design review.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.