从尚未触发的套接字中检索结构 epoll_event

Retrieve struct epoll_event from socket that has not been triggered

我已经动态分配内存并将其存储在一个结构epoll_event中,然后将其注册到套接字以供epoll监控。有时我需要在事件触发之前关闭此套接字。如果我关闭套接字,事件和动态分配的内存就会丢失。有没有办法从 epoll 中检索它?

我找到了解决问题的方法。如果您正在监视 EPOLLRDHUP,您可以调用 shutdown(soc, SHUT_RDWR)。这将触发您的套接字并允许您的处理程序进行清理。能够在不关闭连接的情况下触发套接字会很好,但我认为这是不可能的。