【发布时间】:2016-07-22 22:21:44
【问题描述】:
Linux kernel manpages 声明epoll_ctl 过程如下:
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
显然,event 参数被声明为指向epoll_event struct 的指针。
在这个问题的上下文中,this 的意义在于在指针类型声明之前没有const,因此,似乎允许该过程修改传递的结构的内容。
这是某种遗漏,还是程序是这样设计的,我们必须假设传递的结构确实可以在程序内部进行修改?
我明白这里的声明是明确的,但有理由相信这是一个遗漏吗?
我也看过relevant source code in kernel 4.6 tree,我没有看到太多证据表明该程序甚至打算修改结构,所以在那里。
【问题讨论】: