1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

r23693: Give the process a chance to write out it's coverage data, before we

blast a kill -9 at it.

Andrew Bartlett
This commit is contained in:
Andrew Bartlett 2007-07-04 00:34:16 +00:00 committed by Gerald (Jerry) Carter
parent d0f77f7bd7
commit 16692ae7d9

View File

@ -514,19 +514,34 @@ sub provision_dc($$)
sub teardown_env($$)
{
my ($self, $envvars) = @_;
my $pid;
close(DATA);
sleep(2);
my $failed = $? >> 8;
if (-f "$envvars->{PIDDIR}/smbd.pid" ) {
open(IN, "<$envvars->{PIDDIR}/smbd.pid") or die("unable to open smbd pid file");
kill 9, <IN>;
$pid = <IN>;
close(IN);
# Give the process 20 seconds to exit. gcov needs
# this time to write out the covarge data
my $count = 0;
until (kill(0, $pid) == 0) {
# if no process sucessfully signalled, then we are done
sleep(1);
$count++;
last if $count > 20;
}
# If it is still around, kill it
if ($count > 20) {
print "smbd process $pid took more than $count seconds to exit, killing\n";
kill 9, $pid;
}
}
my $failed = $? >> 8;
$self->slapd_stop($envvars) if ($self->{ldap});
print $self->getlog_env($envvars);