NAME

stapprobes.signal - systemtap signal probe points

DESCRIPTION

This family of probe points is used to probe signal activities. It
contains the following probe points:
signal.send
Fires when a signal is sent to a process
Arguments:sig
signal number
sig_name
a string representation of the signal
sig_pid
pid of the signal recipient process
pid_name
name of the signal recipient process
si_code
indicates the signal type
task
a task handle to the signal recipient
sinfo
the address of siginfo struct
shared
indicates whether this signal is shared by the thread group
send2queue
indicates whether this signal is sent to an existing sigqueue
name
name of the function used to send out this signal
signal.send.return
Fires when return from sending a signal
Arguments:retstr
the return value
Return values for "__group_send_sig_info" and
"specific_send_sig_info"
- return 0 if the signal is sucessfully sent to a
process, which means the following:
<1> the signal is ignored by receiving process
<2> this is a non-RT signal and we already have one
queued
<3> the signal is successfully added into the sigqueue of
receiving process
- return -EAGAIN if the sigqueue is overflow the signal
was RT and sent by user using something other than kill()
Return values for "send_group_sigqueue"
- return 0 if the signal is either sucessfully added into
the sigqueue of receiving process or a SI_TIMER entry is
already queued so just increment the overrun count
- return 1 if this signal is ignored by receiving process
Return values for "send_sigqueue"
- return 0 if the signal is either sucessfully added into
the sigqueue of receiving process or a SI_TIMER entry is
already queued so just increment the overrun count
- return 1 if this signal is ignored by receiving process
- return -1 if the task is marked exiting, so
posix_timer_event can redirect it to the group leader
shared
indicates whether this signal is shared by the thread group
send2queue
indicates whether this signal is sent to an existing sigqueue
name
name of the function used to send out this signal
signal.checkperm
Fires when check permissions for sending the signal
Arguments:sig
the number of the signal
sig_name
a string representation of the signal
sig_pid
pid of the signal recipient process
pid_name
name of the signal recipient process
si_code
indicates the signal type
task
a task handle to the signal recipient
sinfo
the address of siginfo struct
name
name of the probe point, is set to "signal.checkperm"
signal.checkperm.return
Fires when return from permissions check for sending a signal
Arguments:retstr
the return value
name
name of the probe point, is set to "signal.checkperm"
signal.wakeup
Fires when wake up the process for new active signals
Arguments:sig_pid
pid of the process to be woke up
pid_name
name of the process to be woke up
resume
indicate whether to wake up a task in STOPPED or TRACED state
state_mask
a string representation indicate the mask of task states that
can be woken. Possible values are
(TASK_INTERRUPTIBLE|TASK_STOPPED|TASK_TRACED) and
TASK_INTERRUPTIBLE.
signal.check_ignored
Fires when check whether the signal is ignored or not
Arguments:sig_pid
pid of the signal recipient process
pid_name
name of the signal recipient process
sig
the signal to be checked
sig_name
name of the signal
signal.check_ignored.return
Fires when return from signal.check_ignored
Arguments:retstr
return value. 0 indicate the current signal isn’t ignored.
signal.force_segv
Forces SIGSEGV when there are some issues while handling signals
for the process
Arguments:sig_pid
pid of the signal recipient process
pid_name
name of the signal recipient process
sig
the signal being handled
sig_name
name of this signal
signal.force_segv.return
Fires when return from signal.force_segv
Arguments:retstr
return value. Always return 0
signal.syskill
Fires when sys_kill is called to send a signal to a process.
Arguments:pid
pid of the recipient process
sig
the signal to be sent
signal.syskill.return
Fires when returning from sys_kill
signal.tgkill
Fires when sys_tgkill is called to send a signal to one specific
thread
Arguments:pid
pid of the recipient thread
tgid
thread group id which the target thread should have
sig
the signal to be sent
signal.tgkill.return
Fires when returning from sys_tgkill
signal.tkill
Fires when sys_tkill is called to send a signal to a single
process.
Arguments:pid
pid of the recipient process
sig
the signal to be sent
signal.tkill.return
Fires when returning from sys_tkill
signal.send_sig_queue
Fires when queue a signal to a process
Arguments:sig
the signal to be queued
sig_name
name of this signal
sig_pid
pid of the process to which the signal is queued
pid_name
name of the process to which the signal is queued
sigqueue_addr
address of the signal queue
signal.send_sig_queue.return
Fires when return from signal.send_sig_queue
Arguments:retstr
return value
signal.pending
Fires when examine the set of signals that are pending for
delivery to the calling thread
Arguments:sigset_add
address of user space sigset_t
sigset_size
sigset size
signal.pending.return
Fires when return from signal.pending
Arguments:retstr
return value
signal.handle
Fires when invoking the signal handler
Arguments:sig
signal number
sig_name
signal name
sinfo
address of siginfo struct
sig_code
the si_code of siginfo
ka_addr
Address of the k_sigaction struct associated with the signal
oldset_addr
Address of a bit mask array of blocked signals
sig_mode
indicates whether the signal is a User Mode or Kernel mode
Signal
signal.handle.return
Fires when return from signal.handle
Arguments:retstr
return value of handle_signal()
signal.do_action
Fires by calling thread to examine and change a signal action
Arguments:sig
signal number
sigact_addr
address of the new sigaction struct associated with the signal
oldsigact_addr
address of a previous sigaction struct associated with the
signal
sa_handler
the new handler of the signal
sa_mask
the new mask of the signal
signal.do_action.return
Fires when return from signal.do_action
Arguments:retstr
return value of do_sigaction()
signal.procmask
Fires by calling thread to examine and change blocked signals
Arguments:how
indicates how to change the blocked signals.
Possible values are:
SIG_BLOCK=0 for blocking signals
SIG_UNBLOCK=1 for unblocking signals
SIG_SETMASK=2 for setting the signal mask
sigset_addr
address of sigset_t to be set
oldsigset_addr
address of the old sigset_t
sigset
the actual sigset to be set
signal.procmask.return
Fires when return from signal.procmask
Arguments:retstr
return value of sigprocmask()
signal.flush
Fires when flush all pending signals for a task
Arguments:task
the task handler of the process
sig_pid
pid of the task
pid_name
name of the task