From 8195cb0d7fc4f8699b35aff7a43ed2fb3013608c Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Thu, 2 Nov 2017 14:37:33 -0400 Subject: [PATCH] rpc: further constrain the libevent workaround The bug was introduced in 2.1.6-beta, versions before that don't need the workaround. Github-Pull: #11593 Rebased-From: 97932cd2689659addfbb58dc6148928b73af3bd0 --- src/httpserver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/httpserver.cpp b/src/httpserver.cpp index a3a90080e..dc7016b85 100644 --- a/src/httpserver.cpp +++ b/src/httpserver.cpp @@ -241,7 +241,7 @@ static std::string RequestMethodString(HTTPRequest::RequestMethod m) static void http_request_cb(struct evhttp_request* req, void* arg) { // Disable reading to work around a libevent bug, fixed in 2.2.0. - if (event_get_version_number() < 0x02020001) { + if (event_get_version_number() >= 0x02010600 && event_get_version_number() < 0x02020001) { evhttp_connection* conn = evhttp_request_get_connection(req); if (conn) { bufferevent* bev = evhttp_connection_get_bufferevent(conn); @@ -615,7 +615,7 @@ void HTTPRequest::WriteReply(int nStatus, const std::string& strReply) evhttp_send_reply(req_copy, nStatus, nullptr, nullptr); // Re-enable reading from the socket. This is the second part of the libevent // workaround above. - if (event_get_version_number() < 0x02020001) { + if (event_get_version_number() >= 0x02010600 && event_get_version_number() < 0x02020001) { evhttp_connection* conn = evhttp_request_get_connection(req_copy); if (conn) { bufferevent* bev = evhttp_connection_get_bufferevent(conn);