函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:kdb_send_sig - Allows kdb to send signals without exposing* signal internals. This function checks if the required locks are* available before calling the main signal code, to avoid kdb* deadlocks.

函数原型:void kdb_send_sig(struct task_struct *t, int sig)

返回类型:void

参数:

类型参数名称
struct task_struct *t
intsig
4589  如果非spin_trylock( & siglock)则
4590  kdb_printf("Can't do kill command now.\nThe sigmask lock is held somewhere else in kernel, try again later\n")
4593  返回
4595  new_t等于kdb_prev_t不等于t
4596  kdb_prev_t等于t
4597  如果任务状态不等于就绪态new_t
4598  自旋锁解锁
4599  kdb_printf("Process is not RUNNING, sending a signal from kdb risks deadlock\non the run queue locks. The signal has _not_ been sent.\nReissue the kill command if you want to risk the deadlock.\n")
4605  返回
4607  ret等于send_signal(sig, SEND_SIG_PRIV, t, 单一进程)
4608  自旋锁解锁
4609  如果retkdb_printf("Fail to deliver Signal %d to process %d.\n", sig, 进程ID)
4612  否则kdb_printf("Signal %d is sent to process %d.\n", sig, 进程ID)
调用者
名称描述
kdb_killkdb_kill - This function implements the 'kill' commands.