函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |