#!/bin/sh

plist_loc=/Library/LaunchDaemons
plist=net.zetta.launchd.zettamirror
plist_suffix=.plist
initscript=ZettaMirror
etc_loc=/etc/ZettaMirror
bin_prefix=/usr/local
bin_suffix=sbin/ZettaMirror

stop_service() {
  # upgrade - stop service if it's active
  if [ -e "${plist_loc}/${plist}${plist_suffix}" ]; then
    echo Stopping ZettaMirror Service
    ${etc_loc}/${initscript} stop
    sleep 2
    launchctl remove ${plist}
    sleep 1
  fi

  # if for whatever reason the process is not dead, kill it harder
  local daemonpath="$bin_prefix/$bin_suffix/$daemonname"
  local numprocess=$(ps aux | grep $daemonpath | grep -v grep | wc -l)
  if [ $numprocess -gt 0 ]; then
    echo Failed to stop ZettaMirror Service. Killing it by force.
    killall -SIGKILL "$daemonpath"
  fi
  
  return 0
}

stop_service