stapprobes.signal(5)
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 valueReturn values for "__group_send_sig_info" and "spe
- cific_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 masksigset_addraddress of sigset_t to be setoldsigset_addraddress of the old sigset_tsigsetthe 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