函数逻辑报告 |
Source Code:kernel\signal.c |
Create Date:2022-07-27 10:16:36 |
| Last Modify:2020-03-17 13:28:47 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:This must be called with current->sighand->siglock held.* This should be the path for all ptrace stops.* We always set current->last_siginfo while stopped here.* That makes it a way to test a stopped process for
函数原型:static void ptrace_stop(int exit_code, int why, int clear_code, kernel_siginfo_t *info)__releases(&get_current()->sighand->siglock) __acquires(&get_current()->sighand->siglock)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| int | exit_code | |
| int | why | |
| int | clear_code | |
| kernel_siginfo_t * | info |
| 2119 | bool gstop_done = false |
| 2133 | spin_unlock_irq( & siglock) |
| 2135 | spin_lock_irq( & siglock) |
| 2160 | smp_wmb() |
| 2162 | last_siginfo等于info |
| 2183 | spin_unlock_irq( & siglock) |
| 2184 | read_lock( & tasklist_lock) |
| 2185 | 如果may_ptrace_stop()则 |
| 2206 | 禁止抢占() |
| 2207 | read_unlock( & tasklist_lock) |
| 2208 | cgroup_enter_frozen() |
| 2209 | preempt_enable_no_resched() |
| 2210 | freezable_schedule() |
| 2211 | cgroup_leave_frozen(true) |
| 2212 | 否则 |
| 2228 | 如果clear_code则exit_code等于0 |
| 2230 | read_unlock( & tasklist_lock) |
| 2238 | spin_lock_irq( & siglock) |
| 2239 | last_siginfo = NULL |
| 2242 | jobctl与等于JOBCTL_LISTENING的反 |
| 2249 | recalc_sigpending_tsk(当前进程) |
| 名称 | 描述 |
|---|---|
| ptrace_do_notify | |
| do_jobctl_trap | do_jobctl_trap - take care of ptrace jobctl traps* When PT_SEIZED, it's used for both group stop and explicit* SEIZE/INTERRUPT traps. Both generate PTRACE_EVENT_STOP trap with* accompanying siginfo. If stopped, lower eight bits of exit_code contain |
| ptrace_signal |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |