Re: Когда может возникнуть ситуация, что rev->instance != instance?

megalodon nginx-forum at nginx.us
Fri Sep 27 15:32:20 UTC 2013


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

Ход событий в общем: воркер блокируется на epoll_wait(), по истечении
тайм-аута либо по получении nevent событий, воркер просыпается и в цикле
перебирает эти события. Допустим, встретилось событие на чтение и recv()
вернуло 0, мы закрываем соединение, при этом дескриптор удаляется из
структур подсистемы epoll, также в массив cycle->free_connections
возвращается структура ngx_connection_t. 

Я не понимаю такой момент: почему ядро потом может вернуть событие для уже
закрытого сокета?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,243182,243207#msg-243207



Подробная информация о списке рассылки nginx-ru