On Sun, Mar 20, 2016 at 11:31:29AM -0400, Michael wrote:
This is an example in http.c
I wonder how can I get EVHTTP_CON_READING_ERROR?? Since when the connection
is closed, I can only get an error code, and this code seems only telling
your send or recv has finished or not.
evhttp_connection_read_on_write_error(struct evhttp_connection *evcon,
struct evhttp_request *req)
{
struct evbuffer *buf;
/** Second time, we can't read anything */
if (evcon->flags & EVHTTP_CON_READING_ERROR) {
evcon->flags &= ~EVHTTP_CON_READING_ERROR;
evhttp_connection_fail_(evcon, EVREQ_HTTP_EOF);
return;
}
req->kind = EVHTTP_RESPONSE;
buf = bufferevent_get_output(evcon->bufev);
evbuffer_unfreeze(buf, 1);
evbuffer_drain(buf, evbuffer_get_length(buf));
evbuffer_freeze(buf, 1);
evhttp_start_read_(evcon);
evcon->flags |= EVHTTP_CON_READING_ERROR;
}
Oh, this is kind of interesting:
Can you take a look at:
https://github.com/libevent/libevent/commit/2ff164abac40d827fd35e0b4436d22137c1cc0b4
(plus a referenced commit too).
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users in the body.