boblightd: rework start/stop/suspend. prepare for systemd

This commit is contained in:
Stefan Saraev 2013-08-29 17:50:46 +03:00
parent 3c8da986e3
commit 6bf21a6fcd
3 changed files with 31 additions and 21 deletions

View File

@ -39,23 +39,25 @@ BOBLIGHT_X11="$ADDON_HOME/boblight.X11"
LOCKDIR="/var/lock/"
LOCKFILE="boblightd.disabled"
LOCKFILE_SLEEP="boblightd.sleep"
export LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH"
cp -R $ADDON_DIR/config/*.sample $ADDON_HOME > $LOG_FILE 2>&1
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
rm -rf "$LOCKDIR/$LOCKFILE"
fi
rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null
boblightd.stop
rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null
if [ -f "$BOBLIGHT_CONFIG" ] ; then
if [ ! "$(pidof boblightd)" ]; then
while [ true ] ; do
while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do
usleep 100000
done
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
break
fi
# Make sure the xserver has started up
wait_for_xorg
# Start the boblight daemon
boblightd -c $BOBLIGHT_CONFIG >> $LOG_FILE 2>&1
done &
@ -64,11 +66,12 @@ if [ -f "$BOBLIGHT_CONFIG" ] ; then
if [ -e $BOBLIGHT_X11 ]; then
if [ ! "$(pidof boblight-X11)" ]; then
while [ true ] ; do
while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do
usleep 100000
done
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
break
fi
# Make sure the xserver has started up
wait_for_xorg
# Start the boblight daemon
boblight-X11 >> $LOG_FILE 2>&1
done &

View File

@ -24,14 +24,22 @@
LOCKDIR="/var/lock/"
LOCKFILE="boblightd.disabled"
LOCKFILE_SLEEP="boblightd.sleep"
mkdir -p "$LOCKDIR"
touch "$LOCKDIR/$LOCKFILE"
if [ "$(pidof boblightd)" ];then
killall boblightd
if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then
touch "$LOCKDIR/$LOCKFILE"
fi
if [ "$(pidof boblight-X11)" ];then
killall boblight-X11
if [ "$(pidof boblightd)" ] ; then
killall -q boblightd
killall -q boblight-X11
for seq in `seq 1 10` ; do
if [ ! "$(pidof boblightd boblight-X11)" ] ; then
break
fi
usleep 200000
done
killall -q -9 boblightd
killall -q -9 boblight-X11
fi

View File

@ -22,19 +22,18 @@
. /etc/profile
LOCKFILE="/var/lock/boblightd.sleep"
LOCKFILE_SLEEP="/var/lock/boblightd.sleep"
case "$1" in
hibernate|suspend)
hibernate|suspend|pre)
progress "Shutting down boblightd for suspending..."
touch $LOCKFILE_SLEEP
boblightd.stop
touch $LOCKFILE
;;
thaw|resume)
progress "Restarting boblightd for wakeup..."
if [ -f "$LOCKFILE" ] ; then
rm -rf "$LOCKFILE"
boblightd.start
thaw|resume|post)
if [ -f "$LOCKFILE_SLEEP" ] ; then
progress "Restarting boblightd for wakeup..."
rm -rf "$LOCKFILE_SLEEP"
fi
;;
*) exit $NA