函数逻辑报告 |
Source Code:kernel\time\posix-cpu-timers.c |
Create Date:2022-07-27 11:48:11 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:do_cpu_nanosleep
函数原型:static int do_cpu_nanosleep(const clockid_t which_clock, int flags, const struct timespec64 *rqtp)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
const clockid_t | which_clock | |
int | flags | |
const struct timespec64 * | rqtp |
1231 | spin_lock_init( & it_lock) |
1232 | it_clock等于which_clock |
1233 | it_overrun等于负1 |
1235 | it_process等于当前进程 |
1237 | 如果非error则 |
1244 | spin_lock_irq( & it_lock) |
1246 | 如果error则 |
1247 | spin_unlock_irq( & it_lock) |
1248 | 返回:error |
1251 | 当非signal_pending(当前进程)循环 |
1252 | 如果非cpu_timer_getexpires( & cpu)则 |
1258 | spin_unlock_irq( & it_lock) |
1259 | 返回:0 |
1266 | spin_unlock_irq( & it_lock) |
1267 | 进程调度 |
1268 | spin_lock_irq( & it_lock) |
1274 | expires等于cpu_timer_getexpires( & cpu) |
1276 | 如果非error则 |
1282 | spin_unlock_irq( & it_lock) |
1284 | 当error恒等于SPDX-License-Identifier: GPL-2.0 循环 |
1290 | spin_lock_irq( & it_lock) |
1292 | spin_unlock_irq( & it_lock) |
1295 | 如果 seconds 按位或 nanoseconds 的值恒等于0则 |
1299 | 返回:0 |
1306 | restart等于restart_block |
1312 | 返回:error |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |