函数逻辑报告 |
Source Code:kernel\signal.c |
Create Date:2022-07-27 10:16:49 |
| Last Modify:2020-03-17 13:28:47 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:get_signal
函数原型:bool get_signal(struct ksignal *ksig)
返回类型:bool
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct ksignal * | ksig |
| 2527 | 如果此条件成立可能性小(为编译器优化)(task_works)则task_work_run() |
| 2530 | 如果此条件成立可能性小(为编译器优化)(uprobe_deny_signal())则返回:false |
| 2538 | try_to_freeze() |
| 2540 | relock : |
| 2541 | spin_lock_irq( & siglock) |
| 2552 | 否则why等于child has stopped |
| 2555 | see SIGNAL_* flags below 与等于SIGNAL_CLD_MASK的反 |
| 2557 | spin_unlock_irq( & siglock) |
| 2567 | read_lock( & tasklist_lock) |
| 2573 | read_unlock( & tasklist_lock) |
| 2575 | 转到:relock |
| 2588 | 循环 |
| 2595 | 如果此条件成立可能性小(为编译器优化)(jobctl & (JOBCTL_TRAP_MASK | JOBCTL_TRAP_FREEZE))则 |
| 2597 | 如果jobctl按位与JOBCTL_TRAP_MASK则 |
| 2599 | spin_unlock_irq( & siglock) |
| 2603 | 转到:relock |
| 2610 | 如果此条件成立可能性小(为编译器优化)(cgroup_task_frozen(当前进程))则 |
| 2622 | signr等于dequeue_synchronous_signal( & info) |
| 2623 | 如果非signr则signr等于Dequeue a signal and return the element to the caller, which is* expected to free it.* All callers have to hold the siglock. |
| 2629 | 如果此条件成立可能性小(为编译器优化)(ptrace)且signr不等于SIGKILL则 |
| 2630 | signr等于ptrace_signal(signr, & info) |
| 2631 | 如果非signr则继续下一循环 |
| 2640 | 如果sa_handler恒等于gnore signal 则继续下一循环 |
| 2642 | 如果sa_handler不等于default signal handling 则 |
| 2655 | 如果sig_kernel_ignore(signr)则继续下一循环 |
| 2668 | 如果此条件成立可能性小(为编译器优化)(see SIGNAL_* flags below & r init: ignore fatal signals )且非sig_kernel_only(signr)则继续下一循环 |
| 2672 | 如果sig_kernel_stop(signr)则 |
| 2684 | spin_unlock_irq( & siglock) |
| 2688 | 如果is_current_pgrp_orphaned()则转到:relock |
| 2691 | spin_lock_irq( & siglock) |
| 2696 | 转到:relock |
| 2703 | 继续下一循环 |
| 2706 | fatal : |
| 2707 | spin_unlock_irq( & siglock) |
| 2708 | 如果此条件成立可能性小(为编译器优化)(cgroup_task_frozen(当前进程))则cgroup_leave_frozen(true) |
| 2714 | flags或等于Killed by a signal |
| 2716 | 如果sig_kernel_coredump(signr)则 |
| 2719 | proc_coredump_connector(当前进程) |
| 2728 | do_coredump( & info) |
| 2737 | spin_unlock_irq( & siglock) |
| 2740 | 返回:sig大于0 |
| 名称 | 描述 |
|---|---|
| do_signal | 信号处理入口 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |