#!/bin/sh
### BEGIN INIT INFO
# Provides:          irqbalance
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: daemon to balance interrupts for SMP systems
### END INIT INFO
# irqbalance init script
# August 2003
# Eric Dorland

# Based on spamassassin init script

setvar PATH = "/sbin:/bin:/usr/sbin:/usr/bin"
setvar DAEMON = "/usr/sbin/irqbalance"
setvar NAME = 'irqbalance'
setvar SNAME = 'irqbalance'
setvar DESC = ""SMP IRQ Balancer""
setvar PIDFILE = ""/var/run/$NAME.pid""
setvar PNAME = ""irqbalance""
setvar DOPTIONS = """"

# Defaults - don't touch, edit /etc/default/
setvar ENABLED = '0'
setvar OPTIONS = """"
setvar ONESHOT = '0'

test -x $DAEMON || exit 0

source /lib/lsb/init-functions

test -f /etc/default/irqbalance && source /etc/default/irqbalance

test $ENABLED != "0" || exit 0

if test $ONESHOT != "0" {
    setvar DOPTIONS = ""--oneshot""
}

case (1) {
    start {
        if test -x /usr/bin/systemd-detect-virt && /usr/bin/systemd-detect-virt --quiet --container {
            log_daemon_msg "Not starting $NAME in container"
            log_end_msg 0
            exit 0
        }

        log_begin_msg "Starting $DESC: $NAME"

        setvar pid = $( pidofproc -p $PIDFILE $DAEMON )
        if test -n $pid  {
            log_begin_msg ". Already running"
            log_end_msg 0
            exit 0
        }

        start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- --pid=$PIDFILE $OPTIONS $DOPTIONS

        log_end_msg $?
        }
    stop {
        log_begin_msg "Stopping $DESC: $NAME"

        start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
        rm -f $PIDFILE

        log_end_msg $?
        }
    restart|force-reload {
        if test -x /usr/bin/systemd-detect-virt && /usr/bin/systemd-detect-virt --quiet --container {
            log_daemon_msg "Not restarting $NAME in container"
            log_end_msg 0
            exit 0
        }

        log_begin_msg "Restarting $DESC: $NAME"

        start-stop-daemon --stop --retry 5 --quiet --oknodo --exec $DAEMON
        rm -f $PIDFILE

        start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- --pid=$PIDFILE $OPTIONS $DOPTIONS

        log_end_msg $?
        }
    status {
        status_of_proc $DAEMON $NAME
        }
    * {
        setvar N = "/etc/init.d/$SNAME"
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        }
}

exit 0