#!/bin/sh
#
# popd
#
# chkconfig: 2345 48 30
# description: popd - Post Office Protocol Daemon.
# processname: popd
# config: /opt/nec/mail/mail.conf


mails_stop() {
  cd /var/run/popd
  found=0
  for pid in * ; do
    if [ $pid != "*" ]; then
      if [ -f /proc/$pid/cmdline ]; then
        cmd=`cat /proc/$pid/status | head -1 | awk '{ print $2 }'`
        if [ $cmd == "popd" ]; then
          kill $pid
          /opt/nec/mail/mkill $pid
          found=1
        else
          rm -f $pid
        fi
      else
        rm -f $pid
      fi
    fi
  done
  if [ $found == 1 ]; then
    echo -n " popd"
  fi
}

mails_stop_internal() {
  cd /var/run/popd
  for pid in * ; do
    if [ $pid != "*" ]; then
      if [ -f /proc/$pid/cmdline ]; then
        cmd=`cat /proc/$pid/status | head -1 | awk '{ print $2 }'`
        if [ $cmd == "popd" ]; then
          kill $pid
          /opt/nec/mail/mkill $pid
        else
          rm -f $pid
        fi
      else
        rm -f $pid
      fi
    fi
  done
}


mails_start() {
  mails_stop_internal
  /opt/nec/mail/popd
  echo -n " popd"
}

# See how we were called.
case "$1" in
  start)
    echo -n "Starting popd:"
    mails_start
    echo
    touch /var/lock/subsys/popd
    ;;
  stop)
    echo -n "Shutting down popd:"
    mails_stop
    echo
    rm -f /var/lock/subsys/popd
    ;;
  status)
    cd /var/run/popd
    for pid in * ; do
      if [ $pid == "*" ]; then
        echo "popd is stopped"
        exit 0;
      fi
      if [ -f /proc/$pid/cmdline ]; then
        cmd=`cat /proc/$pid/status | head -1 | awk '{ print $2 }'`
        if [ $cmd != "popd" ]; then
          rm -f $pid
        fi
      else
        rm -f $pid
      fi
    done
    poppid=""
    for pid in * ; do
      if [ $pid == "*" ]; then
        echo "popd is stopped"
        exit 0;
      fi
      if [ "$poppid" == "" ]; then
        poppid=$pid
      else
        poppid=`echo -n "$poppid $pid"`
      fi
    done
    echo "popd (pid $poppid) is running..."
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  reload)
    echo -n "Reloading popd:"
    mails_start
    echo
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

exit 0

