From: Kristoffer Haugsbakk Date: Wed, 21 Jan 2026 22:04:24 GMT Subject: Re: [PATCH v7 10/12] run-command: poll child stdin in addition to stdout Message-ID: In-Reply-To: <20260121215436.1473800-11-adrian.ratiu@collabora.com> On Wed, Jan 21, 2026, at 22:54, Adrian Ratiu wrote: > Child input feeding might hit the 100ms output poll timeout as a > side-effect of the ungroup=0 design when feeding multiple children > in parallel and buffering their outputs. > > This throttles the write throughtput as reported by Kristoffer. > > Peff also noted that the parent might block if the write pipe is full > and cause a deadlock if both parent + child wait for one another. > > Thus we refactor the run-command I/O loop so it polls on both child > input and output fds to eliminate the risk of artificial 100ms > latencies and unnecessarily blocking the main process. > > This ensures that parallel hooks are fed data ASAP while maintaining > responsiveness for (sideband) output. > > It's worth noting that in our current design, sequential execution > is not affected by this because it still uses the ungroup=1 behavior. > > Reported-by: Kristoffer Haugsbakk > Suggested-by: Jeff King > Signed-off-by: Adrian Ratiu > --- Thanks for rewriting the commit message to include some user-level behavior/symptoms. >[snip]