diff options
Diffstat (limited to 'subr/rtl_complex.subr')
-rw-r--r-- | subr/rtl_complex.subr | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/subr/rtl_complex.subr b/subr/rtl_complex.subr index 2ce5dd16..8aa59bec 100644 --- a/subr/rtl_complex.subr +++ b/subr/rtl_complex.subr @@ -95,6 +95,19 @@ rtl_filter_vars() { printf "%s" "${_vars}"; }; +rtl_flock_acquire() { + local _fd="${1}" _conflict_exit_code="${2:-622}" _wait="${3:-3600}" + while true; do + if flock -E "${_conflict_exit_code}" -w "${_wait}" "${_fd}"; then + break; + elif [ "${?}" -eq "${_conflict_exit_code}" ]; then + continue; + else + return "${?}"; + fi; + done; +}; + rtl_get_cpu_count() { local _line="" _ncpus=0 _rc=0 _sname="$(uname -s 2>/dev/null)"; _status=""; case "${_sname}" in |