函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\signal.c Create Date:2022-07-27 10:15:29
Last Modify:2020-03-17 13:28:47 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Handle magic process-wide effects of stop/continue signals

函数原型:static bool prepare_signal(int sig, struct task_struct *p, bool force)

返回类型:bool

参数:

类型参数名称
intsig
struct task_struct *p
boolforce
896  signal等于信号
900  如果see SIGNAL_* flags below 按位与group exit in progress 按位或coredump in progress 的值则
901  如果非see SIGNAL_* flags below 按位与group exit in progress 的值则返回:sig恒等于SIGKILL
906  否则如果sig_kernel_stop(sig)则
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  否则如果sig恒等于SIGCONT
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  如果see SIGNAL_* flags below 按位与job control stop in effect why或等于SIGNAL_CLD_CONTINUED
941  否则如果hread group stop support, overloads group_exit_code too why或等于Pending notifications to parent.
944  如果why
956  返回:非sig_ignored(p, sig, force)
调用者
名称描述
__send_signal
send_sigqueue