函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\eventpoll.c Create Date:2022-07-29 10:50:59
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:ep_send_events_proc

函数原型:static __poll_t ep_send_events_proc(struct eventpoll *ep, struct list_head *head, void *priv)

返回类型:__poll_t

参数:

类型参数名称
struct eventpoll *ep
struct list_head *head
void *priv
1683  esed等于priv
1686  __useruevent等于events
1690  init_poll_funcptr( & pt, NULL)
1691  res等于0
1698  lockdep_assert_held( & * This mutex is used to ensure that files are not removed * while epoll is using them. This is held during the event * collection loop, the file cleanup path, the epoll file exit * code and the ctl operations.)
1701  如果res大于等于maxevents退出
1713  ws等于all only when ep->mtx is held
1714  如果ws
1715  如果active__pm_stay_awake( wakeup_source used when ep_scan_ready_list is running )
1717  __pm_relax(ws)
1720  删除链表项并重新初始化
1728  revents等于Differs from ep_eventpoll_poll() in that internal callers already have* the ep->mtx so we need to start from depth=1, such that mutex_lock_nested()* is correctly annotated.
1729  如果非revents则继续下一循环
1732  如果__put_user - Write a simple value into user space, with less checking(revents, & events)或__put_user - Write a simple value into user space, with less checking(data, & data)则
1734  添加链表项
1735  all only when ep->mtx is held
1736  如果非resres等于负EFAULT
1738  返回:0
1740  res自加
1741  uevent自加
1742  如果events按位与Set the One Shot behaviour for the target file descriptor events与等于Epoll private bits inside the event mask
1744  否则如果非events按位与Set the Edge Triggered behaviour for the target file descriptor 的值则
1756  添加链表项
1757  all only when ep->mtx is held
1761  返回:0