diff options
author | Erich Eckner <git@eckner.net> | 2018-05-25 09:07:39 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-05-25 09:07:39 +0200 |
commit | 0be03e8056755deaaf1492fa1df38907eade690e (patch) | |
tree | ef9a485711a1b098c249c1494ffc3029cc8da728 /lib/common-functions | |
parent | ad863c02e7b0e7030a920a318fcb9a9963333eb3 (diff) | |
download | builder-0be03e8056755deaaf1492fa1df38907eade690e.tar.xz |
verbose_flock new: it calls flock and reports about blocking processes on error
Diffstat (limited to 'lib/common-functions')
-rwxr-xr-x | lib/common-functions | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/common-functions b/lib/common-functions index 4224831..b152f53 100755 --- a/lib/common-functions +++ b/lib/common-functions @@ -719,3 +719,18 @@ calculate_script_checksum() { sha512sum | \ awk '{print $1}' } + +# verbose_flock +# flock wrapper with some informational output on error +verbose_flock() { + local err=0 + flock "$@" || { + err=$? + lsof "/proc/$$/fd/$( + printf '%s\n' "$@" | \ + grep -vm1 '^-' + )" || true + printf 'FYI: I am %s.\n' "$$" + return ${err} + } +} |