函数逻辑报告 |
Source Code:kernel\workqueue.c |
Create Date:2022-07-27 10:27:25 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__cancel_work_timer
函数原型:static bool __cancel_work_timer(struct work_struct *work, bool is_dwork)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
struct work_struct * | work | |
bool | is_dwork |
3086 | 循环 |
3104 | 如果此条件成立可能性小(为编译器优化)(ret == - ENOENT)则 |
3108 | func等于cwt_wakefn |
3111 | prepare_to_wait_exclusive( & cancel_waitq, & wait, 深度睡眠态) |
3113 | 如果work_is_canceling(work)则schedule() |
3115 | finish_wait( & cancel_waitq, & wait) |
3117 | 当此条件成立可能性小(为编译器优化)(ret < 0)循环 |
3120 | mark_work_canceling(work) |
3121 | local_irq_restore(flags) |
3127 | 如果can kworkers be created yet? 则__flush_work(work, true) |
3130 | clear_work_data(work) |
3137 | smp_mb() |
3141 | 返回:ret |
名称 | 描述 |
---|---|
cancel_work_sync | ancel_work_sync - cancel a work and wait for it to finish*@work: the work to cancel* Cancel @work and wait for its execution to finish. This function* can be used even if the work re-queues itself or migrates to* another workqueue |
cancel_delayed_work_sync | ancel_delayed_work_sync - cancel a delayed work and wait for it to finish*@dwork: the delayed work cancel* This is cancel_work_sync() for delayed works.* Return:* %true if @dwork was pending, %false otherwise. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |