<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
        MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em; MARGIN-TOP: 0px
}
OL {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
UL {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
P {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
BODY {
        FONT-SIZE: 10.5pt; FONT-FAMILY: Segoe UI; COLOR: #000000; LINE-HEIGHT: 1.5
}
</STYLE>

<META name=GENERATOR content="MSHTML 10.00.9200.16635"></HEAD>
<BODY style="MARGIN: 10px">
<DIV>Hi,all</DIV>
<DIV style="TEXT-INDENT: 2em">
<DIV>I find it hard to understand in function ngx_epoll_process_events as 
following.</DIV>
<DIV>        if ((revents & 
(EPOLLERR|EPOLLHUP))</DIV>
<DIV>             
&& (revents & (EPOLLIN|EPOLLOUT)) == 0)</DIV>
<DIV>        {</DIV>
<DIV>            /*</DIV>
<DIV>             * 
if the error events were returned without EPOLLIN or EPOLLOUT,</DIV>
<DIV>             * 
then add these flags to handle the events at least in one</DIV>
<DIV>             * 
active handler</DIV>
<DIV>             
*/</DIV>
<DIV> </DIV>
<DIV>            revents 
|= EPOLLIN|EPOLLOUT;</DIV>
<DIV>        }</DIV></DIV>
<DIV>            As 
the comment said we should check if ((revents & (EPOLLERR|EPOLLHUP))==0) 
that we can end the connection when EPOLLERR and EPOLLHUP is returned.</DIV>
<DIV style="TEXT-INDENT: 4em"> ,but why not this? Help...</DIV>
<HR style="HEIGHT: 1px; WIDTH: 210px" align=left color=#b5c4df SIZE=1>

<DIV><SPAN>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: verdana; MARGIN: 10px">
<DIV>yurnerola@gmail.com</DIV></DIV></SPAN></DIV></BODY></HTML>