從kernel.org聯的,在所述的http://man7.org/linux/man-pages/man2/epoll_ctl.2.html手冊頁,聲明epoll_ctl
過程如下:可能`epoll_ctl`修改傳遞給它的`epoll_event`結構?
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
可以明顯看出,所述event
參數被聲明爲指向struct epoll_event
。
這個問題的意義在於,在類型聲明之前沒有const
,因此,至少「在紙上」,該過程看起來被允許修改傳遞的結構的內容。
它是一種遺漏或是它是如此的程序設計,我們不得不假設通過的結構可以在程序中修改嗎?
我知道這裏的聲明是毫不含糊的,但是有沒有人注意到這是一個遺漏?
我也看過relevant source code in kernel 4.6 tree,我沒有看到很多證據表明該程序甚至打算修改結構,所以在那裏。