diff --git a/debian/quagga.init.d b/debian/quagga.init.d index b9ad6e6669..dbf71ce885 100755 --- a/debian/quagga.init.d +++ b/debian/quagga.init.d @@ -469,9 +469,9 @@ if [ ! -d $V_PATH ]; then chmod 755 /$V_PATH fi -if [ -n "$3" ]; then +if [ -n "$3" ] && [ "$3" != "all" ]; then dmn="$2"-"$3" -elif [ -n "$2" ]; then +elif [ -n "$2" ] && [ "$2" != "all" ]; then dmn="$2" fi diff --git a/watchquagga/watchquagga.c b/watchquagga/watchquagga.c index ca05361c1c..0b48708b78 100644 --- a/watchquagga/watchquagga.c +++ b/watchquagga/watchquagga.c @@ -912,14 +912,7 @@ try_restart(struct daemon *dmn) break; } } - zlog_info("Phased restart: stopping all routing daemons."); - /* First step: stop all other daemons. */ - for (dmn = gs.daemons; dmn; dmn = dmn->next) - { - if (dmn != gs.special) - run_job(&dmn->restart,"stop",gs.stop_command,1,1); - } - set_phase(PHASE_STOPS_PENDING); + run_job(&gs.restart,"restart",gs.restart_command,0,1); break; default: zlog_err("error: unknown restart mode %d",gs.mode);