diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-03-02 18:20:45 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-03-02 12:30:05 +0100 |
commit | 5d4144a82674467bccbfe30f42382ed0905026d0 (patch) | |
tree | 963b9d0017112adb9f6f682435157f66ad8a5b4e /selftest/target/Samba4.pm | |
parent | 0d94d681c4a829b2a0bdadf5800c11c05edd2fa4 (diff) | |
download | samba-5d4144a82674467bccbfe30f42382ed0905026d0.tar.gz samba-5d4144a82674467bccbfe30f42382ed0905026d0.tar.bz2 samba-5d4144a82674467bccbfe30f42382ed0905026d0.zip |
selftest: close stdin and wait with waitpid() for a safer exit
This avoids timelimit sending kill -9 after 1 second, which may
disrupt the writing of gcov data.
Andrew Bartlett
Diffstat (limited to 'selftest/target/Samba4.pm')
-rw-r--r-- | selftest/target/Samba4.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm index 361152b928..b79e29fad6 100644 --- a/selftest/target/Samba4.pm +++ b/selftest/target/Samba4.pm @@ -1363,10 +1363,12 @@ sub teardown_env($$) my $count = 0; until (kill(0, $pid) == 0) { + my $childpid = waitpid(-1, WNOHANG); + # This should give it time to write out the gcov data sleep(1); $count++; - last if $count > 20; + last if $childpid == 0 or $count > 20; } # If it is still around, kill it @@ -1409,6 +1411,8 @@ sub check_env($$) { my ($self, $envvars) = @_; + my $childpid = waitpid(-1, WNOHANG); + return (-p $envvars->{SAMBA_TEST_FIFO}); } |