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. Thanks Suren and Christian! Reviewed-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>