aboutsummaryrefslogtreecommitdiff
path: root/init/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'init/init.c')
-rw-r--r--init/init.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/init/init.c b/init/init.c
index 013f55c68..ab2d0ea91 100644
--- a/init/init.c
+++ b/init/init.c
@@ -715,6 +715,11 @@ static void shutdown_system(void)
{
sigset_t block_signals;
+ /* run everything to be run at "shutdown". This is done _prior_
+ * to killing everything, in case people wish to use scripts to
+ * shut things down gracefully... */
+ run_actions(SHUTDOWN);
+
/* first disable all our signals */
sigemptyset(&block_signals);
sigaddset(&block_signals, SIGHUP);
@@ -744,9 +749,6 @@ static void shutdown_system(void)
kill(-1, SIGKILL);
sleep(1);
- /* run everything to be run at "shutdown" */
- run_actions(SHUTDOWN);
-
sync();
if (kernelVersion > 0 && kernelVersion <= KERNEL_VERSION(2, 2, 11)) {
/* bdflush, kupdate not needed for kernels >2.2.11 */