From 1dfff9751b1ef96d0ec5e4a72f7e687702c35a78 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Fri, 12 Feb 2021 19:07:55 +1100 Subject: [PATCH] ctdb-scripts: Move current lock debugging to a function Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- ctdb/config/debug_locks.sh | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) 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 -- 2.47.3