From 84faae5a0aef195afcb9a2fd89fd4d78c5223fa0 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Thu, 17 Jan 2013 21:46:22 +0200 Subject: [PATCH] busybox: re-add 'safe shutdown / reboot' --- .../busybox/profile.d/safe-shutdown.conf | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 packages/sysutils/busybox/profile.d/safe-shutdown.conf diff --git a/packages/sysutils/busybox/profile.d/safe-shutdown.conf b/packages/sysutils/busybox/profile.d/safe-shutdown.conf new file mode 100644 index 0000000000..69710d03a5 --- /dev/null +++ b/packages/sysutils/busybox/profile.d/safe-shutdown.conf @@ -0,0 +1,41 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ +# Core (PATH) environment variables. +# +# This file contains non-OpenELEC evironment variables as well as OpenELEC +# evironment variables that are not user defined. +################################################################################ + + add_omit_pids() { + omit_pids+=( $@ ) + } + + _safe_shutdown () { + add_omit_pids $(pidof connmand) + add_omit_pids $(pidof dbus-daemon) + killall5 -15 ${omit_pids[@]/#/-o } + for seq in `seq 1 10` ; do + usleep 500000 + clear > /dev/tty1 + killall5 -18 ${omit_pids[@]/#/-o } || break + done + sync + umount -a >/dev/null 2>&1 + }