函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\select.c Create Date:2022-07-29 10:37:00
Last Modify:2020-03-18 10:25:38 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:poll_select_finish

函数原型:static int poll_select_finish(struct timespec64 *end_time, void __user *p, enum poll_time_type pt_type, int ret)

返回类型:int

参数:

类型参数名称
struct timespec64 *end_time
void __user *p
enum poll_time_typept_type
intret
303  restore_saved_sigmask_unless(ret == - start if no handler.. )
305  如果非p则返回:ret
308  如果personality按位与STICKY_TIMEOUTS则转到:sticky
312  如果非 seconds 且非 nanoseconds 则返回:ret
315  ktime_get_ts64 - get the monotonic clock in timespec64 format*@ts: pointer to timespec variable* The function calculates the monotonic clock from the realtime* clock and the wall_to_monotonic offset and stores the result
316  rts等于sub = lhs - rhs, in normalized form
317  如果 seconds 小于0则 seconds 等于 nanoseconds 等于0
322  :pt_type恒等于PT_TIMEVAL
326  如果rtv的长度大于tv_sec的长度加tv_usec的长度则memset( & rtv, 0, rtv的长度)
328  tv_sec等于 seconds
329  tv_usec等于 nanoseconds NSEC_PER_USEC
330  如果非copy_to_user(p, & rtv, rtv的长度)则返回:ret
333  退出
334  :pt_type恒等于PT_OLD_TIMEVAL
338  tv_sec等于 seconds
339  tv_usec等于 nanoseconds NSEC_PER_USEC
340  如果非copy_to_user(p, & rtv, rtv的长度)则返回:ret
343  退出
344  :pt_type恒等于PT_TIMESPEC
345  如果非put_timespec64( & rts, p)则返回:ret
347  退出
348  :pt_type恒等于PT_OLD_TIMESPEC
349  如果非put_old_timespec32( & rts, p)则返回:ret
351  退出
352  默认
353  BUG()
363  sticky :
364  如果ret恒等于负start if no handler.. ret等于负EINTR
366  返回:ret
调用者
名称描述
kern_select
do_pselect
SYSCALL_DEFINE5
do_compat_select
do_compat_pselect
COMPAT_SYSCALL_DEFINE5New compat syscall for 64 bit time_t