相关疑难解决方法(0)

`epoll_ctl` 可以修改传递给它的 `epoll_event` 结构吗?

Linux内核手册页声明该epoll_ctl过程如下:

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
Run Code Online (Sandbox Code Playgroud)

显然,该event参数被声明为指向epoll_event struct.

在这个问题的上下文中,所述观察的重要性在于,指针类型声明之前没有const,因此,该过程似乎被允许修改传递的结构的内容。

这是某种遗漏,还是程序是故意设计的,我们必须假设传递的结构确实可以在程序内修改?

我知道这里的声明是明确的,但是有理由相信这是一个遗漏吗?

我还查看了内核4.6树中的相关源代码,并且我没有看到太多证据表明该程序甚至打算修改结构,所以就在那里。

c linux epoll manpage

4
推荐指数
1
解决办法
558
查看次数

标签 统计

c ×1

epoll ×1

linux ×1

manpage ×1