On Mon, Apr 18, 2016 at 10:52:24AM -0400, Ronen Mizrahi wrote: > Hi, > > I was wondering if anyone had a chance to look into this patch? > > We recently upgraded to the latest stable release of libevent and it looks > like the issue mentioned in this email is still not fixed.
Can you please try compile libevent from GIT, since I remember some patches that can be related to read-over-write, in particular [321] and maybe you need to install some new flags (for evcon). [GIT]: https://github.com/libevent/libevent [321]: https://github.com/libevent/libevent/issues/321 But maybe I'm missing something. Okay I found the PATCH: --- http.c 2014-03-05 15:05:50.577168380 -0500 +++ http-patched.c 2014-03-05 15:11:13.629154795 -0500 @@ -373,7 +373,7 @@ evhttp_error_cb, evcon); - bufferevent_enable(evcon->bufev, EV_WRITE); + bufferevent_enable(evcon->bufev, EV_READ | EV_WRITE); } static void @@ -1150,7 +1150,10 @@ } if (evcon->bufev != NULL) + { + bufferevent_disable(evcon->bufev, EV_READ|EV_WRITE); bufferevent_free(evcon->bufev); + } event_deferred_cb_cancel_(get_deferred_queue(evcon), &evcon->read_more_deferred_cb); And I think that this can cause some problems, in particular that if. [PATCH]: http://archives.seul.org/libevent/users/Mar-2014/msg00013.html > >> > The original issue reported however is still very much in effect. It is > >> > particularly problematic for long-polling type requests where the server > >> > uses evhttp_send_reply_start() and then every once in a while does > >> > evhttp_send_reply_chunk(). If the client closes the connection, the > >> server > >> > won't detect it during the period between different chunks but rather > >> only > >> > when attempting to send the next chunk. This period can be several > >> minutes > >> > so this can be a real issue for servers that handle many connections. Do you have a reproducer? *********************************************************************** To unsubscribe, send an e-mail to [email protected] with unsubscribe libevent-users in the body.
