Note that this changes the behaviour only for non-interactive init scripts, not for all init scripts in a parallel boot. The current behaviour of startpar when running interactive init scripts is correct and it is a bug in initscripts that interrupting a periodic fsck is treated as failure. I have opened a separate bug (#608534) to cover that (it's not possible to clone merged bugs).
Ben. diff -u sysvinit-2.88dsf/debian/changelog sysvinit-2.88dsf/debian/changelog --- sysvinit-2.88dsf/debian/changelog +++ sysvinit-2.88dsf/debian/changelog @@ -1,3 +1,10 @@ +sysvinit (2.88dsf-13.1) unstable; urgency=low + + * Non-maintainer upload. + * Disable SIGINT for non-interactive init scripts (Closes: #582442) + + -- Ben Hutchings <b...@decadent.org.uk> Sat, 01 Jan 2011 03:45:28 +0000 + sysvinit (2.88dsf-13) unstable; urgency=low [ Kel Modderman ] diff -u sysvinit-2.88dsf/debian/startpar/patches/series sysvinit-2.88dsf/debian/startpar/patches/series --- sysvinit-2.88dsf/debian/startpar/patches/series +++ sysvinit-2.88dsf/debian/startpar/patches/series @@ -9,0 +10 @@ +09_noninteractive_ignore_sigint.patch only in patch2: unchanged: --- sysvinit-2.88dsf.orig/debian/startpar/patches/09_noninteractive_ignore_sigint.patch +++ sysvinit-2.88dsf/debian/startpar/patches/09_noninteractive_ignore_sigint.patch @@ -0,0 +1,30 @@ +--- a/startpar.c ++++ b/startpar.c +@@ -397,7 +397,6 @@ + if (p->pid != 0) + return; + +- (void)signal(SIGINT, SIG_DFL); + (void)signal(SIGQUIT, SIG_DFL); + (void)signal(SIGSEGV, SIG_DFL); + (void)signal(SIGTERM, SIG_DFL); +@@ -511,7 +510,9 @@ + + if (pid == 0) + { ++ /* Interactive init scripts may be interrupted */ + (void)signal(SIGINT, SIG_DFL); ++ + (void)signal(SIGQUIT, SIG_DFL); + (void)signal(SIGSEGV, SIG_DFL); + (void)signal(SIGTERM, SIG_DFL); +@@ -700,6 +701,9 @@ + char *splashopt = 0; + int notty = 0; + ++ /* By default, init scripts should not be interruptible */ ++ (void)signal(SIGINT, SIG_IGN); ++ + (void)signal(SIGUSR1, sighandler_preload); + (void)signal(SIGUSR2, sighandler_nopreload); + --- END --- -- Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.
signature.asc
Description: This is a digitally signed message part