Function report |
Source Code:kernel\signal.c |
Create Date:2022-07-28 09:18:15 |
Last Modify:2020-03-17 13:28:47 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name: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.
Proto:void kdb_send_sig(struct task_struct *t, int sig)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct task_struct * | t | |
int | sig |
4589 | If Not spin_trylock( & siglock) Then |
4590 | kdb_printf("Can't do kill command now.\nThe sigmask lock is held somewhere else in kernel, try again later\n") |
4593 | Return |
4595 | new_t = kdb_prev_t != t |
4596 | kdb_prev_t = t |
4597 | If run state != Used in tsk->state: && new_t Then |
4598 | spin_unlock( & siglock) |
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 | Return |
4607 | ret = send_signal(sig, SEND_SIG_PRIV, t, PIDTYPE_PID) |
4608 | spin_unlock( & siglock) |
4609 | If ret Then kdb_printf("Fail to deliver Signal %d to process %d.\n", sig, process id) |
4612 | Else kdb_printf("Signal %d is sent to process %d.\n", sig, process id) |
Name | Describe |
---|---|
kdb_kill | kdb_kill - This function implements the 'kill' commands. |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |