#!/bin/sh
#
# wpad-httpd
#
# chkconfig: 345 87 13
# description: wpad-httpd - HTTP Daemon.
# processname: wpad-httpd
# config: /opt/nec/wpad/wpad.conf

pid_file="/var/run/wpad-httpd.pid"

wpad_stop() {
  if [ -r $pid_file ]; then
    found=0
    pid=`cat $pid_file`
    if [ -f /proc/$pid/cmdline ]; then
      cmd=`cat /proc/$pid/status | head -1 | awk '{ print $2 }'`
      if [ $cmd == "wpad-httpd" ]; then
        kill $pid
        found=1
      fi
    fi
    if [ $found == 1 ]; then
      echo -n " wpad-httpd"
    fi
  fi
}

wpad_stop_internal() {
  if [ -r $pid_file ]; then
    pid=`cat $pid_file`
    if [ -f /proc/$pid/cmdline ]; then
      cmd=`cat /proc/$pid/status | head -1 | awk '{ print $2 }'`
      if [ $cmd == "wpad-httpd" ]; then
        kill $pid
      fi
    fi
  fi
}

wpad_start() {
  wpad_stop_internal
  if cd /opt/nec/wpad ; then
    ./wpad-httpd
    if [ $? == 0 ]; then
      echo -n " wpad-httpd"
    fi
  fi
}

# See how we were called.
case "$1" in
  start)
    echo -n "Starting wpad-httpd:"
    wpad_start
    echo
    touch /var/lock/subsys/wpad-httpd
    ;;
  stop)
    echo -n "Shutting down wpad-httpd:"
    wpad_stop
    echo
    rm -f /var/lock/subsys/wpad-httpd
    ;;
  status)
    if [ ! -r $pid_file ]; then
      echo "wpad-httpd is stopped"
      exit 0;
    fi
    found=0
    pid=`cat $pid_file`
    if [ -f /proc/$pid/cmdline ]; then
      cmd=`cat /proc/$pid/status | head -1 | awk '{ print $2 }'`
      if [ $cmd == "wpad-httpd" ]; then
        found=1
      fi
    fi
    if [ $found == 1 ]; then
      echo "wpad-httpd (pid $pid) is running..."
    else
      echo "wpad-httpd pid file exist, but no process"
    fi
    ;;
  restart)
    $0 stop
    sync;sync;sync;
    $0 start
    ;;
  reload)
    echo -n "Reloading wpad-httpd:"
    wpad_start
    echo
    ;;
  *)
    echo "Usage: $0 {start|stop|status|restart|reload}"
    exit 1
esac

exit 0
