Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\select.c Create Date:2022-07-28 20:07:04
Last Modify:2020-03-18 10:25:38 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:do_poll

Proto:static int do_poll(struct poll_list *list, struct poll_wqueues *wait, struct timespec64 *end_time)

Type:int

Parameter:

TypeParameterName
struct poll_list *list
struct poll_wqueues *wait
struct timespec64 *end_time
874  pt = pt
875  ktime_t expire, * to = NULL
876  timed_out = 0 , count = 0
877  slack = 0
878  busy_flag = If net_busy_loop_on() Then POLL_BUSY_LOOP Else 0
879  busy_start = 0
882  If end_time && Not seconds && Not nanoseconds Then
883  _qproc = NULL
884  timed_out = 1
887  If end_time && Not timed_out Then slack = select_estimate_accuracy(end_time)
890  cycle
892  bool can_busy_loop = false
894  When walk != NULL cycle
897  pfd = entries
898  pfd_end = pfd + len
899  When pfd != pfd_end cycle
909  count++
910  _qproc = NULL
912  busy_flag = 0
913  can_busy_loop = false
921  _qproc = NULL
922  If Not count Then
923  count = error
927  If count || timed_out Then Break
931  If can_busy_loop && Not need_resched() Then
932  If Not busy_start Then
934  Continue
939  busy_flag = 0
946  If end_time && Not to Then
948  to = expire
951  If Not poll_schedule_timeout(wait, TASK_INTERRUPTIBLE, to, slack) Then timed_out = 1
954  Return count
Caller
NameDescribe
do_sys_poll