Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\signal.c Create Date:2022-07-28 09:15:32
Last Modify:2020-03-17 13:28:47 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Handle magic process-wide effects of stop/continue signals

Proto:static bool prepare_signal(int sig, struct task_struct *p, bool force)

Type:bool

Parameter:

TypeParameterName
intsig
struct task_struct *p
boolforce
896  signal = Signal handlers:
900  If see SIGNAL_* flags below & (group exit in progress | coredump in progress ) Then
901  If Not (see SIGNAL_* flags below & group exit in progress ) Then Return sig == SIGKILL
906  Else if sig_kernel_stop(sig) Then
910  siginitset( & flush, sigmask(SIGCONT))
911  Remove signals in mask from the pending set and queue.* Returns 1 if any signals were found.* All callers must be holding the siglock.
912  for_each_thread(p, t)
913  Remove signals in mask from the pending set and queue.* Returns 1 if any signals were found.* All callers must be holding the siglock.
914  Else if sig == SIGCONT Then
919  siginitset( & flush, SIG_KERNEL_STOP_MASK)
920  Remove signals in mask from the pending set and queue.* Returns 1 if any signals were found.* All callers must be holding the siglock.
921  for_each_thread(p, t)
938  why = 0
939  If see SIGNAL_* flags below & job control stop in effect Then why |= SIGNAL_CLD_CONTINUED
941  Else if hread group stop support, overloads group_exit_code too Then why |= Pending notifications to parent.
944  If why Then
956  Return Not sig_ignored(p, sig, force)
Caller
NameDescribe
__send_signal
send_sigqueue