Fixes for stopping mbtask

This commit is contained in:
Michiel Broek 2003-12-06 16:59:24 +00:00
parent 08f0ae7711
commit df0e9ee03f
7 changed files with 25 additions and 5 deletions

View File

@ -337,6 +337,7 @@ void *ping_thread(void)
static int pingnr, pingresult[2]; static int pingnr, pingresult[2];
static char pingaddress[41]; static char pingaddress[41];
static time_t pingsend; static time_t pingsend;
time_t now;
Syslog('+', "Starting ping thread with pid %d", (int)getpid()); Syslog('+', "Starting ping thread with pid %d", (int)getpid());
pingresult[1] = pingresult[2] = FALSE; pingresult[1] = pingresult[2] = FALSE;
@ -371,7 +372,13 @@ void *ping_thread(void)
if (icmp_errs++ < ICMP_MAX_ERRS) if (icmp_errs++ < ICMP_MAX_ERRS)
Syslog('?', "ping: to %s rc=%d", pingaddress, rc); Syslog('?', "ping: to %s rc=%d", pingaddress, rc);
pingresult[pingnr] = FALSE; pingresult[pingnr] = FALSE;
sleep(10); now = time(NULL) + 10;
while ((! T_Shutdown) && (time(NULL) < now)) {
sleep(1);
}
if (T_Shutdown)
break;
} else { } else {
pingsend = time(NULL); pingsend = time(NULL);
@ -398,10 +405,10 @@ void *ping_thread(void)
if (rc > 5) if (rc > 5)
Syslog('+', "Ping: slow reply after %d seconds", rc); Syslog('+', "Ping: slow reply after %d seconds", rc);
pingresult[pingnr] = TRUE; pingresult[pingnr] = TRUE;
if (rc < 20) now = time(NULL) + 20 - rc;
sleep(20 - rc); while ((! T_Shutdown) && (time(NULL) < now)) {
else
sleep(1); sleep(1);
}
break; break;
} else { } else {
if (rc != -6) { if (rc != -6) {
@ -415,8 +422,14 @@ void *ping_thread(void)
} else { } else {
if (icmp_errs++ < ICMP_MAX_ERRS) if (icmp_errs++ < ICMP_MAX_ERRS)
Syslog('?', "Ping address %d is invalid \"%s\"", pingnr, pingaddress); Syslog('?', "Ping address %d is invalid \"%s\"", pingnr, pingaddress);
sleep(10); now = time(NULL) + 10;
while ((! T_Shutdown) && (time(NULL) < now)) {
sleep(1);
} }
}
if (T_Shutdown)
break;
/* /*
* Evaluate the result of the ping test * Evaluate the result of the ping test

View File

@ -50,6 +50,7 @@ case "$1" in
su mbse -c '$MBSE_ROOT/bin/mbstat close wait -quiet' >/dev/null su mbse -c '$MBSE_ROOT/bin/mbstat close wait -quiet' >/dev/null
fi fi
kill `pidof mbtask` kill `pidof mbtask`
sleep 3
echo "$NAME done." echo "$NAME done."
;; ;;
force-reload|restart) force-reload|restart)

View File

@ -45,6 +45,8 @@ case "$1" in
fi fi
kill -15 `/usr/local/bin/pidof mbtask` kill -15 `/usr/local/bin/pidof mbtask`
echo -n " mbtask" echo -n " mbtask"
sleep 3
echo -n " done"
;; ;;
*) *)
echo "Usage: `basename $0` {start|stop}" >&2 echo "Usage: `basename $0` {start|stop}" >&2

View File

@ -56,5 +56,6 @@ stop() {
su mbse -c '$MBSE_ROOT/bin/mbstat close wait -quiet' >/dev/null su mbse -c '$MBSE_ROOT/bin/mbstat close wait -quiet' >/dev/null
fi fi
kill `pidof mbtask` kill `pidof mbtask`
sleep 3
eend $? "Stopping error." eend $? "Stopping error."
} }

View File

@ -89,6 +89,7 @@ case "$1" in
echo -n "stop mbtask: " echo -n "stop mbtask: "
killproc mbtask -15 killproc mbtask -15
rm -f /var/lock/subsys/mbsed rm -f /var/lock/subsys/mbsed
sleep 3
echo "" echo ""
# echo "done." # echo "done."
;; ;;

View File

@ -48,6 +48,7 @@ case "$1" in
fi fi
echo -n " stopping mbtask " echo -n " stopping mbtask "
kill -15 `pidof $MBSE_ROOT/bin/mbtask` kill -15 `pidof $MBSE_ROOT/bin/mbtask`
sleep 3
echo "done." echo "done."
;; ;;
status) status)

View File

@ -53,6 +53,7 @@ case "$1" in
fi fi
echo -n " stopping mbtask " echo -n " stopping mbtask "
killproc $MBSE_ROOT/bin/mbtask -15 killproc $MBSE_ROOT/bin/mbtask -15
sleep 3
echo "done." echo "done."
;; ;;
restart|reload) restart|reload)