Set BCLog::LIBEVENT correctly for old libevent versions.
This commit is contained in:
parent
e19586a8a9
commit
4d9950d3bc
2 changed files with 24 additions and 8 deletions
|
@ -384,15 +384,13 @@ bool InitHTTPServer()
|
||||||
|
|
||||||
// Redirect libevent's logging to our own log
|
// Redirect libevent's logging to our own log
|
||||||
event_set_log_callback(&libevent_log_cb);
|
event_set_log_callback(&libevent_log_cb);
|
||||||
#if LIBEVENT_VERSION_NUMBER >= 0x02010100
|
// Update libevent's log handling. Returns false if our version of
|
||||||
// If -debug=libevent, set full libevent debugging.
|
// libevent doesn't support debug logging, in which case we should
|
||||||
// Otherwise, disable all libevent debugging.
|
// clear the BCLog::LIBEVENT flag.
|
||||||
if (LogAcceptCategory(BCLog::LIBEVENT)) {
|
if (!UpdateHTTPServerLogging(logCategories & BCLog::LIBEVENT)) {
|
||||||
event_enable_debug_logging(EVENT_DBG_ALL);
|
logCategories &= ~BCLog::LIBEVENT;
|
||||||
} else {
|
|
||||||
event_enable_debug_logging(EVENT_DBG_NONE);
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
evthread_use_windows_threads();
|
evthread_use_windows_threads();
|
||||||
#else
|
#else
|
||||||
|
@ -435,6 +433,20 @@ bool InitHTTPServer()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool UpdateHTTPServerLogging(bool enable) {
|
||||||
|
#if LIBEVENT_VERSION_NUMBER >= 0x02010100
|
||||||
|
if (enable) {
|
||||||
|
event_enable_debug_logging(EVENT_DBG_ALL);
|
||||||
|
} else {
|
||||||
|
event_enable_debug_logging(EVENT_DBG_NONE);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
// Can't update libevent logging if version < 02010100
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
std::thread threadHTTP;
|
std::thread threadHTTP;
|
||||||
std::future<bool> threadResult;
|
std::future<bool> threadResult;
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,10 @@ void InterruptHTTPServer();
|
||||||
/** Stop HTTP server */
|
/** Stop HTTP server */
|
||||||
void StopHTTPServer();
|
void StopHTTPServer();
|
||||||
|
|
||||||
|
/** Change logging level for libevent. Removes BCLog::LIBEVENT from logCategories if
|
||||||
|
* libevent doesn't support debug logging.*/
|
||||||
|
bool UpdateHTTPServerLogging(bool enable);
|
||||||
|
|
||||||
/** Handler for requests to a certain HTTP path */
|
/** Handler for requests to a certain HTTP path */
|
||||||
typedef std::function<bool(HTTPRequest* req, const std::string &)> HTTPRequestHandler;
|
typedef std::function<bool(HTTPRequest* req, const std::string &)> HTTPRequestHandler;
|
||||||
/** Register handler for prefix.
|
/** Register handler for prefix.
|
||||||
|
|
Loading…
Reference in a new issue