openvidu/openvidu-server/docker/openvidu-recording/utils/xvfb-run-safe

22 lines
557 B
Bash

#!/bin/bash
# allow settings to be updated via environment
: "${xvfb_lockdir:=/recordings/.xvfb-locks}" # Lock folder necessary to block displays
: "${xvfb_display_min:=99}" # Min display
: "${xvfb_display_max:=599}" # Max display
mkdir -p -- "$xvfb_lockdir" || exit
i=$xvfb_display_min # minimum display number
while (( i < xvfb_display_max )); do
if [ -f "/tmp/.X$i-lock" ]; then
(( ++i )); continue
fi
exec 5>"$xvfb_lockdir/$i" || continue
if flock -x -n 5; then
exec xvfb-run --server-num="$i" "$@" || exit
fi
(( i++ ))
done