dhodovsk / source-git / pacemaker

Forked from source-git/pacemaker 3 years ago
Clone

Blame extra/gdb/gdbhelpers

rpm-build 3ee90c
# Copyright 2018 the Pacemaker project contributors
rpm-build 3ee90c
#
rpm-build 3ee90c
# The version control history for this file may have further details.
rpm-build 3ee90c
# Author: Jan Pokorny <jpokorny@redhat.com>
rpm-build 3ee90c
# Part of pacemaker project
rpm-build 3ee90c
# SPDX-License-Identifier: GPL-2.0-or-later
rpm-build 3ee90c
rpm-build 3ee90c
define pcmk
rpm-build 3ee90c
    # shelling avoids necessity to have an inferior around
rpm-build 3ee90c
    shell printf '%s %s\n' 'Available commands' \
rpm-build 3ee90c
                 '(all require an inferior, just break on main or so):\n'
rpm-build 3ee90c
    shell printf '%s\t%s\n' pcmk-follow-daemon \
rpm-build 3ee90c
                 'Convenient pacemakerd to particular daemon descent'
rpm-build 3ee90c
end
rpm-build 3ee90c
document pcmk
rpm-build 3ee90c
Show possible pcmk namespace rooted user-defined convenience commands.
rpm-build 3ee90c
end
rpm-build 3ee90c
rpm-build 3ee90c
# XXX one would expect that order of pcmk_children naturally matches
rpm-build 3ee90c
#     the actual sequential ordering, but that's governed with start_seq
rpm-build 3ee90c
define pcmk-follow-daemon
rpm-build 3ee90c
    dont-repeat
rpm-build 3ee90c
    set $d = $arg0
rpm-build 3ee90c
    eval "set $d_alt = \"pacemaker-%s\"", $d
rpm-build 3ee90c
    set $cont = 1
rpm-build 3ee90c
    break start_child
rpm-build 3ee90c
    cont
rpm-build 3ee90c
    while ($cont)
rpm-build 3ee90c
        if (!strcmp(child->name, $d) || !strcmp(child->name, $d_alt))
rpm-build 3ee90c
            set $cont = 0
rpm-build 3ee90c
            set follow-fork-mode child
rpm-build 3ee90c
            break getrlimit
rpm-build 3ee90c
            continue
rpm-build 3ee90c
            set follow-fork-mode parent  # restore
rpm-build 3ee90c
        else
rpm-build 3ee90c
            if (child->start_seq == sizeof(pcmk_children)/sizeof(*pcmk_children) - 1)
rpm-build 3ee90c
                set $cont = 0
rpm-build 3ee90c
                printf "no such daemon: %s (%s)\n", $d, $d_alt
rpm-build 3ee90c
                set follow-fork-mode parent  # restore
rpm-build 3ee90c
            else
rpm-build 3ee90c
                continue
rpm-build 3ee90c
            end
rpm-build 3ee90c
        end
rpm-build 3ee90c
    end
rpm-build 3ee90c
end
rpm-build 3ee90c
document pcmk-follow-daemon
rpm-build 3ee90c
Convenient way to follow into particular daemon when starting debugging
rpm-build 3ee90c
from the master control process of pacemaker (pacemakerd).
rpm-build 3ee90c
For "pacemaker-" prefixed daemons, this very prefix is not needed.
rpm-build 3ee90c
rpm-build 3ee90c
Example:  pcmk-follow-daemon "controld"
rpm-build 3ee90c
end