Commit 79867866 authored by Andrey Filippov's avatar Andrey Filippov
Browse files

feat: Integrate workspace locking into eyesis_mcp_ctl.sh

parent 479b64e0
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -10,6 +10,17 @@ set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
LOCK_SCRIPT="${REPO_ROOT}/attic/elphel-agent-tools/bin/workspace_lock.sh"

check_lock() {
  if [[ -x "${LOCK_SCRIPT}" ]]; then
    if ! "${LOCK_SCRIPT}" check; then
      echo "Error: Workspace is locked." >&2
      "${LOCK_SCRIPT}" status >&2
      exit 1
    fi
  fi
}

STATE_DIR="${EYESIS_MCP_STATE_DIR:-${REPO_ROOT}/attic/session-logs}"
PID_FILE="${STATE_DIR}/eyesis_mcp.pid"
@@ -484,12 +495,15 @@ done

case "${COMMAND}" in
  start)
    check_lock
    start_process
    ;;
  stop)
    check_lock
    stop_process
    ;;
  restart)
    check_lock
    stop_process || true
    start_process
    ;;