diff options
-rw-r--r-- | conf.d/network.in | 2 | ||||
-rw-r--r-- | init.d.misc/dhcpcd.in | 11 | ||||
-rw-r--r-- | init.d/network.in | 7 |
3 files changed, 17 insertions, 3 deletions
diff --git a/conf.d/network.in b/conf.d/network.in index 2719fa87..dc0f80c0 100644 --- a/conf.d/network.in +++ b/conf.d/network.in @@ -6,6 +6,8 @@ # You also have ifup_eth0 and ifdown_eth0 to run other commands when # eth0 is started and stopped. +# You should note that we don't stop the network at system shutdown by default. +# If you really need this, then set shutdown_network=YES # You can assign a default route #defaultroute="192.168.0.1" diff --git a/init.d.misc/dhcpcd.in b/init.d.misc/dhcpcd.in index 91f0110c..656a2c1e 100644 --- a/init.d.misc/dhcpcd.in +++ b/init.d.misc/dhcpcd.in @@ -14,5 +14,14 @@ depend() use logger after bootmisc modules before dns - keyword noshutdown +} + +stop_pre() +{ + # When shutting down, kill dhcpcd but preserve network + # We do this as /var/run/dhcpcd could be cleaned out when we + # return to multiuser. + if yesno $RC_GOINGDOWN; then + : ${stopsig:=SIGKILL} + fi } diff --git a/init.d/network.in b/init.d/network.in index fb9668cf..50ba7578 100644 --- a/init.d/network.in +++ b/init.d/network.in @@ -13,8 +13,6 @@ depend() need localmount after bootmisc provide net - # We don't want to stop the network at shutdown - keyword noshutdown keyword nojail noprefix novserver } @@ -240,6 +238,11 @@ start() stop() { + # Don't stop the network at shutdown. + # We don't use the noshutdown keyword so that we are started again + # correctly if we go back to multiuser. + ! yesno ${shutdown_network:-YES} && yesno $RC_GOINGDOWN && return 0 + local int= intv= cmd= downcmd= r= einfo "Stopping network" routeflush |