In article <[email protected]>, Manuel Bouyer <[email protected]> wrote: >On Fri, Feb 13, 2015 at 03:48:56PM +0100, Manuel Bouyer wrote: >> [...] >> >> The ktrace counts 935 writes and only 868 reads (and 868 calls to fork), so >> the root cause of the issue may be that the master process sends too many >> '!' to childrens. > >reading the code, the master can indeed write more '!' than the number >of children, if all childrens are busy and take too much time to >exit. >That should not be a problem, because then the server would fork >more childrens until all extra '!' in the pipe have been consumed. > >So the problem is really that the kernel doens't accept the character from >the write side of the pipe, when the read side has consumed one character.
Please write a unit test for that! christos
