Otherwise evhttp_read_cb can be called with invalid connection state:
http/read_on_write_error: [forking] [msg] libevent using: kqueue
FAIL ../test/regress_http.c:4079: assert(req)
FAIL ../test/regress_http.c:4087: assert(req)[err] evhttp_read_cb: illegal connection state 0
evhttp_deferred_read_cb(struct event_callback *cb, void *data)
{
struct evhttp_connection *evcon = data;
- evhttp_read_cb(evcon->bufev, evcon);
+ struct bufferevent *bev = evcon->bufev;
+ if (bev->readcb)
+ (bev->readcb)(evcon->bufev, evcon);
}
static void