Function report |
Source Code:kernel\time\posix-cpu-timers.c |
Create Date:2022-07-28 10:48:15 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:do_cpu_nanosleep
Proto:static int do_cpu_nanosleep(const clockid_t which_clock, int flags, const struct timespec64 *rqtp)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
const clockid_t | which_clock | |
int | flags | |
const struct timespec64 * | rqtp |
1231 | Process spin lock initialization( & it_lock) |
1232 | it_clock = which_clock |
1233 | it_overrun = -1 |
1235 | it_process = current process |
1237 | If Not error Then |
1244 | spin_lock_irq( & it_lock) |
1246 | If error Then |
1247 | spin_unlock_irq( & it_lock) |
1248 | Return error |
1251 | When Not signal_pending(current process) cycle |
1252 | If Not cpu_timer_getexpires( & cpu) Then |
1258 | spin_unlock_irq( & it_lock) |
1259 | Return 0 |
1266 | spin_unlock_irq( & it_lock) |
1267 | schedule() |
1268 | spin_lock_irq( & it_lock) |
1274 | expires = cpu_timer_getexpires( & cpu) |
1276 | If Not error Then |
1282 | spin_unlock_irq( & it_lock) |
1284 | When error == SPDX-License-Identifier: GPL-2.0 cycle |
1290 | spin_lock_irq( & it_lock) |
1292 | spin_unlock_irq( & it_lock) |
1295 | If ( seconds | nanoseconds ) == 0 Then |
1299 | Return 0 |
1306 | restart = restart_block |
1312 | Return error |
Name | Describe |
---|---|
posix_cpu_nsleep | |
posix_cpu_nsleep_restart |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |