kantord / kantord/optative

process pool: pipe block-buffering can hide stdout until 4KB accumulates

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.