[Pkg-sysvinit-devel] Bug#444980: udev not restarted after exiting runlevel 1
Petter Reinholdtsen
pere at hungry.com
Mon Aug 31 19:41:43 UTC 2009
Here is a draft patch, if we decide to special case udev. I'm not
sure we want it, but gave it a go to have a proposal on the table.
The patch is not tested.
Index: debian/initscripts/etc/init.d/killprocs
===================================================================
--- debian/initscripts/etc/init.d/killprocs (revision 1676)
+++ debian/initscripts/etc/init.d/killprocs (working copy)
@@ -13,9 +13,16 @@
. /lib/lsb/init-functions
do_start () {
- # Kill all processes.
+ # Kill all processes, except udev, which should run in single
+ # user and runlevel 1.
+ OMITPIDS=""
+ if [ -x /sbin/udevd ] ; then
+ pid=$(pidof /sbin/udevd)
+ OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid"
+
+ fi
log_action_begin_msg "Asking all remaining processes to terminate"
- killall5 -15 # SIGTERM
+ killall5 $OMITPIDS -15 # SIGTERM
log_action_end_msg 0
alldead=""
for seq in 1 2 3 4 5 6 7 8 9 10; do
@@ -25,7 +32,7 @@
# sense to wait for processes to die, or it fail and
# there is nothing to wait for.
- if killall5 -18 ; then
+ if killall5 $OMITPIDS -18 ; then
:
else
alldead=1
@@ -36,7 +43,7 @@
done
if [ -z "$alldead" ] ; then
log_action_begin_msg "Killing all remaining processes"
- killall5 -9 # SIGKILL
+ killall5 $OMITPIDS -9 # SIGKILL
log_action_end_msg 1
else
log_action_begin_msg "All processes ended within $seq seconds."
Happy hacking,
--
Petter Reinholdtsen
More information about the Pkg-sysvinit-devel
mailing list