lib/drmtest: ducttape over fork race
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 13 Sep 2013 14:43:22 +0000 (16:43 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 13 Sep 2013 14:48:08 +0000 (16:48 +0200)
commita031a1bf93b828585e7147f06145fc5030814547
treede6fc2dc1083d952e8ac9384f65cc6a88937b2e0
parent9298dfabd9658315df34616b1e9a10b3579a92bd
lib/drmtest: ducttape over fork race

Whatever the reason (and I've thought there isn't one) if we fork and
kill right away the child seems to not reliably die. We can work
around this little race by forcing the default SIGQUIT handler. This
should break anything since we reset our atexit handling anyway, so if
the helper needs any atexit handling the special signal helpers will
be reinstated.

Note that inserting sufficient amounts of printf between the fork and
kill makes this unnecessary.

While add it also add the retry loop for the waitpid call, in case
there's another guy constantly interrupting us.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
lib/drmtest.c