fix: use flock -w 300 instead of -n to queue concurrent agent sessions

Non-blocking flock (-n) silently drops work items when concurrent agents
race for the lock. Switch to -w 300 so sessions queue up to 5 minutes,
and single-quote the lock path to handle spaces in $HOME.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
openhands 2026-03-25 17:54:48 +00:00
parent cf6400e8f3
commit ff8d773d7a

View file

@ -297,7 +297,7 @@ create_agent_session() {
local lock_dir="${HOME}/.claude"
mkdir -p "$lock_dir"
local claude_lock="${lock_dir}/session.lock"
local claude_cmd="flock -n ${claude_lock} claude --dangerously-skip-permissions ${model_flag}"
local claude_cmd="flock -w 300 '${claude_lock}' claude --dangerously-skip-permissions ${model_flag}"
tmux new-session -d -s "$session" -c "$workdir" \
"$claude_cmd" 2>/dev/null