#!/usr/bin/env bash
set -euo pipefail

cd "$(dirname "$0")"

PID_FILE="run/opendartboard.pid"

if [[ -f "$PID_FILE" ]] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
  PID="$(cat "$PID_FILE")"
  kill "$PID"
  for _ in {1..20}; do
    kill -0 "$PID" 2>/dev/null || break
    sleep 0.25
  done
  if kill -0 "$PID" 2>/dev/null; then
    kill -9 "$PID" 2>/dev/null || true
  fi
  echo "Stopped OpenDartboard PID $PID"
  rm -f "$PID_FILE"
else
  pkill -f './build/opendartboard' 2>/dev/null || true
  rm -f "$PID_FILE"
  echo "OpenDartboard was not running from PID file"
fi

sleep 1
