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
