关闭套接字时,是否需要从epoll / kqueue取消注册fd?

时间:2013-12-24 07:31:43

标签: sockets tornado epoll event-loop kqueue

如果我关闭一个套接字,它的fd会从epoll和/或kqueue中自动清除吗? 如果是这样,是否意味着在关闭fd时无需手动取消注册fd?

实际上我正在使用龙卷风,对此的任何建议也将受到赞赏。

1 个答案:

答案 0 :(得分:1)

在Tornado中,您必须在关闭套接字之前调用IOLoop.remove_handler。 Epoll和kqueue将在内部自动发现套接字已被关闭,但IOLoop本身仍然有一些需要清理的状态(从文件描述符到处理函数的映射)。