From: Martin Schwenke Date: Fri, 12 Feb 2021 08:07:55 +0000 (+1100) Subject: ctdb-scripts: Move current lock debugging to a function X-Git-Tag: tevent-0.11.0~706 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1dfff9751b1ef96d0ec5e4a72f7e687702c35a78;p=thirdparty%2Fsamba.git ctdb-scripts: Move current lock debugging to a function Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- diff --git a/ctdb/config/debug_locks.sh b/ctdb/config/debug_locks.sh index 7c5fd50d8aa..d83f3bb368e 100755 --- a/ctdb/config/debug_locks.sh +++ b/ctdb/config/debug_locks.sh @@ -64,11 +64,8 @@ dump_stacks () done } -( - flock -n 9 || exit 1 - - echo "===== Start of debug locks PID=$$ =====" - +debug_via_proc_locks () +{ # Create sed expression to convert inodes to names. # Filenames don't contain dashes and we want basenames # shellcheck disable=SC2035 @@ -99,10 +96,22 @@ dump_stacks () all_pids="$all_pids $pids" done - dump_stacks "$all_pids" + lock_holder_pids="${lock_holder_pids:+${lock_holder_pids} }${all_pids}" fi +} + +( + flock -n 9 || exit 1 + + echo "===== Start of debug locks PID=$$ =====" + + lock_holder_pids="" + + debug_via_proc_locks + + dump_stacks "$lock_holder_pids" - echo "===== End of debug locks PID=$$ =====" + echo "===== End of debug locks PID=$$ =====" )9>"${CTDB_SCRIPT_VARDIR}/debug_locks.lock" | script_log "ctdbd-lock" exit 0