epoll_ctl()を使用すると、第3引数 "fd"がepollファイル記述子 "epfd"以外のファイル記述子であることがわかりました。私が見たように、about epoll_ctl()
event.data.fd = sfd; //sfd is a fd for listening
event.events = EPOLLIN | EPOLLET;
s = epoll_ctl (efd, EPOLL_CTL_ADD, sfd, &event);
event.data.fdでファイルディスクリプタがepoll_ctl第三パラメータと同じである、なぜ二度この記述子を渡す必要があります。そして、私はこのような例を見ましたか?何か違いはありますか?
実装が割り当てを行っていないと考えられます。低レベルのCシステムコールは、プログラマに依存することがあります。このイベントは必ずしも必要ではありません。 EPOLL_CTL_DEL中にイベントは無視されますが、引数としてNULLポインタを与えることはできません。 –