我动态分配了内存并将其存储在结构epoll_event中,然后将其注册到套接字中以供 epoll 监控。有时我需要在触发事件之前关闭此套接字。如果我关闭套接字,事件和动态分配的内存将丢失。有没有办法从epoll中检索它?
我已经找到了解决问题的方法。如果您正在监视 EPOLLRDHUP,则可以调用 shutdown(soc, SHUT_RDWR)
。这将触发您的套接字并允许您的处理程序进行清理。能够在不关闭连接的情况下触发套接字会很好,但我认为这是不可能的。