Scroll to navigation

TAPSET::SIGNAL(3stap) TAPSET::SIGNAL(3stap)

NAME

tapset::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 successfully 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 successfully 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 successfully 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
 

SEE ALSO

stap(1), stapprobes(3stap)
 
IBM