[LTP] [PATCH V2 2/2] syscalls/clone3: New tests
Cyril Hrubis
chrubis@suse.cz
Fri Mar 20 02:20:33 CET 2020
Hi!
> What's happening is that parent is able to send the signal before the
> child calls pause() and so it hangs. If I simply remove pause() it all
> works fine for me, but is pidfd_send_signal() synchronous ? Does it
> wait until the time child signal is executed ? If yes, then we don't
> have a problem, else we may run into timing issue.
>
> We can add a delay in parent before sending the signal, but that is
> still racy in worst cases.
In that case we can add a loop over a volatile varible changed from the
signal handler with a short usleep. Something as:
static volatile int wait_for_signal;
The do_child() would do:
wait_for_signal = 1;
TST_CHECKPOINT_WAKE(..);
while (wait_for_signal)
usleep(100);
And the handler would do:
wait_for_signal = 0;
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list