1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00

r21554: Use a snippet from tridge's junkcode to cause us to wait for smbd to

exit.

If we kill smbd right away, we can interrupt the gcov data file
writeout.  Instead, we now wait up to 20 seconds for the process to
exit, before sending it a kill -9.

Andrew Bartlett
(This used to be commit c547bce3d3)
This commit is contained in:
Andrew Bartlett 2007-02-27 02:59:22 +00:00 committed by Gerald (Jerry) Carter
parent e2aa39b024
commit ad3b40d258
2 changed files with 21 additions and 1 deletions

View File

@ -247,7 +247,11 @@ exit $?
) 9>$SMBD_TEST_FIFO
totalfailed=$?
kill `cat $PIDDIR/smbd.pid`
smbd_PID=`cat $PIDDIR/smbd.pid`
waitforpid $smbd_PID 20 || {
echo "smbd process $1 took more than 20 seconds to exit, killing"
kill -9 $smbd_PID
}
if [ "$TEST_LDAP"x = "yesx" ]; then
if test -z "$FEDORA_DS_PREFIX"; then

View File

@ -113,6 +113,22 @@ EOF
exit $failed
}
# wait for a pid with given timeout
# returns 1 if it timed out, 0 if the process exited itself
waitforpid() {
pid=$1
timeout=$2 # in seconds
_wcount=0
while kill -0 $pid 2> /dev/null; do
sleep 1;
_wcount=`expr $_wcount + 1`
if [ $_wcount -eq $timeout ]; then
return "1";
fi
done
return "0";
}
if [ -z "$VALGRIND" ]; then
MALLOC_CHECK_=2
export MALLOC_CHECK_