epoll ライブラリを使用して C でサーバーを開発していますが、メモリがどのように処理されるかについて質問がありstruct epoll_event
ます。epoll_ctl
いくつかのオンラインの例で、呼び出しを行うときに、events
引数がスタックに割り当てられてから、次のようにポインターが渡されることに気付きました。
struct epoll_event ev;
ev.events = EPOLLIN;
epoll_ctl(epfd, EPOLL_CTL_ADD, sockfd, &ev);
ev
これで、関数が返されたときに何が起こるかがわかりました。私の質問は: epoll ライブラリはこれらの値のコピーを内部的に作成しますか、それとも渡した構造体に依存してヒープが割り当てられますか? 上記の例は私のリアクターの実装を完全に壊しますか? もしそうなら、ヒープに割り当てられた構造体を追跡する最良の方法は何epoll_event
ですか?
御時間ありがとうございます。