2013-12-24 6 views
1

Правда ли, что если я закрываю сокет, его fd автоматически очищается от epoll и/или kqueue?
Если это так, значит, нет необходимости вручную отменить регистрацию fd при закрытии fd?Нужно ли отменить регистрацию fd из epoll/kqueue при закрытии сокета?

На самом деле я использую Торнадо, любые советы по этому вопросу также будут оценены.

ответ

1

В Tornado перед закрытием гнезда вы должны вызвать IOLoop.remove_handler. Epoll и kqueue автоматически обнаружат, что сокет был закрыт, но сам IOLoop по-прежнему имеет некоторое состояние (сопоставление от дескрипторов файлов к функциям обработчика), которые необходимо очистить.

 Смежные вопросы

  • Нет связанных вопросов^_^