函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:信号处理

函数原型:int do_sigaction(int sig, struct k_sigaction *act, struct k_sigaction *oact)

返回类型:int

参数:

类型参数名称
intsig
struct k_sigaction *act
struct k_sigaction *oact
3951  p等于当前进程
3955  如果非Test if 'sig' is valid signal. Use this instead of testing _NSIG directly sig小于1或actsig_kernel_only(sig)则返回:负EINVAL
3958  k等于action[sig - 1]
3960  spin_lock_irq( & siglock)
3961  如果oactoact等于k
3964  sigaction_compat_abi(act, oact)
3966  如果act
3967  sigdelsetmask( & mask last for extensibility , sigmask(SIGKILL) | sigmask(SIGSTOP))
3969  k等于act
3981  如果sig_handler_ignored(sig_handler(p, sig), sig)则
3982  sigemptyset( & mask)
3985  for_each_thread(p, t)
3990  spin_unlock_irq( & siglock)
3991  返回:0
调用者
名称描述
SYSCALL_DEFINE4sys_rt_sigaction - alter an action taken by a process*@sig: signal to be sent*@act: new sigaction*@oact: used to save the previous sigaction*@sigsetsize: size of sigset_t type
COMPAT_SYSCALL_DEFINE4
SYSCALL_DEFINE2For backwards compatibility. Functionality superseded by sigaction.