
___x_cmd_fslock_wait(){
    local fslock_name="$1"

    local IFS; local i;

    local fslock_fp="${___X_CMD_FSLOCK_ROOT}/${fslock_name}.fslock.x-cmd.X"

    while true; do
        ! ___x_cmd_fslock_available "$fslock_name" || return 0

        fslock:debug "sleep 1s because of unavailable fslock[$fslock_name]"
        IFS=" "
        for i in 0.2 0.3 0.5; do
            # Notice: If an only if the link is actually link to a physical file...
            [ -e "$fslock_fp" ] || return 0
            ___x_cmd_cmds_sleep "$i" || return 130    # return 130 if interrupted
        done
    done
}
