STAPPROBES.SIGNAL(3stap)

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 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)