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:
parent
d0f77f7bd7
commit
16692ae7d9
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user