On Fri, Jul 26, 2019 at 01:07:28PM -0400, Joel Fernandes wrote: > On Fri, Jul 26, 2019 at 09:22:26AM -0700, Suren Baghdasaryan wrote: > > This adds testing for polling on pidfd of a process being killed. Test runs > > 10000 iterations by default to stress test pidfd polling functionality. > > It accepts an optional command-line parameter to override the number or > > iterations to run. > > Specifically, it tests for: > > - pidfd_open on a child process succeeds > > - pidfd_send_signal on a child process succeeds > > - polling on pidfd succeeds and returns exactly one event > > - returned event is POLLIN > > - event is received within 3 secs of the process being killed > > > > 10000 iterations was chosen because of the race condition being tested > > which is not consistently reproducible but usually is revealed after less > > than 2000 iterations. > > Reveals race fixed by commit b191d6491be6 ("pidfd: fix a poll race when setting exit_state") > > > > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx> > > --- > > > + close(pidfd); > > + // Wait for child to prevent zombies > > Comment style should be /* */, but I think Christian would be kind enough to > fix that when he applies the patch so shouldn't need a resend. No, I will force you to resend this whole thing. :) Jk, I'll replace the // when I apply it to my tree; no problem. :) > > Thanks Suren and Christian! > > Reviewed-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> >