On 14/06/2015 14:37, Olivier Brunel wrote:
> Because of the buffered IO, the possible scenario could occur:
> - netlink uevents (plural) occur, i.e. data ready on stdin
> - iopause triggered, handle_stdin() called. The first uevent is processed, child
> launched, we're waiting for a signal
> - SIGCHLD occurs, we're back to iopausing on stdin again, only it's not ready
> yet; Because we've read it all already and still have unprocessed data
> (uevents) on our own internal buffer (buffer_0)
Right, thanks for the catch. I usually avoid that trap, but meh.
I committed a simpler change than your patch, please tell me if it fixes
things for you.
--
Laurent
Received on Sun Jun 14 2015 - 19:11:15 UTC