libev epoll and EPOLLRDHUP
Chaliha, Sayan
sayan.chaliha at in.verizon.com
Thu Jun 13 13:19:33 CEST 2013
Thanks Marc. I'll dig into the code :)
--
Warm regards,
Sayan.
-----Original Message-----
From: Marc Lehmann [mailto:schmorp at schmorp.de]
Sent: Thursday, June 13, 2013 4:25 PM
To: Chaliha, Sayan
Cc: libev at lists.schmorp.de
Subject: Re: libev epoll and EPOLLRDHUP
On Thu, Jun 13, 2013 at 11:54:55AM +0530, "Chaliha, Sayan" <sayan.chaliha at in.verizon.com> wrote:
> a. I have a transparent HTTP proxy server
> b. The proxy is heavily loaded with connections (around 3 Gbps of data)
> c. On any side of the proxy if a client closes a connection, I don't get a read (or write) event for the last connection that went down. That event comes only when a new connection is established. Off late testers are reporting that more than ten or eleven connection close events are being missed with epoll enabled.
That sounds a lot like a bug in your program (especially when you also see corruption of the backend_fd already...), less like a bug in epoll, and looks completely unrelated to EPOLLRDHUP.
If you have a testcase that exhibits the problem, or some strace (or
equivalent) output that shows that epoll doesn't generate EPOLLIN for a closed connection, then you would have a case.
Until then, you'd probably be better off hunting bugs in your code, such as closing the wrong fd, or blocking your process, or corrupting libev's data structures or the like.
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the libev
mailing list