aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf.d/network.in2
-rw-r--r--init.d.misc/dhcpcd.in11
-rw-r--r--init.d/network.in7
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