Fixes for stopping mbtask
This commit is contained in:
parent
08f0ae7711
commit
df0e9ee03f
@ -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,9 +422,15 @@ 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
|
||||||
*/
|
*/
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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."
|
||||||
}
|
}
|
||||||
|
@ -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."
|
||||||
;;
|
;;
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
Reference in New Issue
Block a user