On 6/22/20 10:50 AM, James Prestwood wrote:
If an application has a bug and hangs on SIGTERM this causes
test-runner to hang as well. This is obviously an issue with
the application in question, but test-runner should have a way
of continuing onto the next test rather than hanging.
Instead we can use WNOHANG and a sleep to allow applications
some amount of time to exit, and if they haven't use SIGKILL
instead as well as print an error. Similar to how
wait_for_socket works. The timeout is hard coded to 2 seconds
(100ms sleep + 20 iterations).
tools/test-runner.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
- Removed extra check for i >= 20 since that is always going to be
true if we get past the while loop
- Added another waitpid after SIGKILL