aboutsummaryrefslogtreecommitdiff
path: root/src/httpserver.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2015-09-21 17:16:00 +0200
committerWladimir J. van der Laan <[email protected]>2015-09-21 17:16:40 +0200
commit5e21388c4812e73a15f0e50a9186d154bece27a8 (patch)
tree46da064f42fe524c21533984e0827a60550765e0 /src/httpserver.cpp
parentMerge pull request #6654 (diff)
parentMake RPC tests cope with server-side timeout between requests (diff)
downloaddiscoin-5e21388c4812e73a15f0e50a9186d154bece27a8.tar.xz
discoin-5e21388c4812e73a15f0e50a9186d154bece27a8.zip
Merge pull request #6695
ddf98d1 Make RPC tests cope with server-side timeout between requests (Wladimir J. van der Laan) 2190ea6 rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout (Wladimir J. van der Laan) 8b2d6ed http: Disable libevent debug logging, if not explicitly enabled (Wladimir J. van der Laan) 5ce43da init: Ignore SIGPIPE (Wladimir J. van der Laan)
Diffstat (limited to 'src/httpserver.cpp')
-rw-r--r--src/httpserver.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/httpserver.cpp b/src/httpserver.cpp
index baca00757..600e57b7c 100644
--- a/src/httpserver.cpp
+++ b/src/httpserver.cpp
@@ -320,6 +320,15 @@ static void HTTPWorkQueueRun(WorkQueue<HTTPClosure>* queue)
queue->Run();
}
+/** libevent event log callback */
+static void libevent_log_cb(int severity, const char *msg)
+{
+ if (severity >= EVENT_LOG_WARN) // Log warn messages and higher without debug category
+ LogPrintf("libevent: %s\n", msg);
+ else
+ LogPrint("libevent", "libevent: %s\n", msg);
+}
+
bool InitHTTPServer()
{
struct evhttp* http = 0;
@@ -335,6 +344,16 @@ bool InitHTTPServer()
return false;
}
+ // Redirect libevent's logging to our own log
+ event_set_log_callback(&libevent_log_cb);
+#if LIBEVENT_VERSION_NUMBER >= 0x02010100
+ // If -debug=libevent, set full libevent debugging.
+ // Otherwise, disable all libevent debugging.
+ if (LogAcceptCategory("libevent"))
+ event_enable_debug_logging(EVENT_DBG_ALL);
+ else
+ event_enable_debug_logging(EVENT_DBG_NONE);
+#endif
#ifdef WIN32
evthread_use_windows_threads();
#else
@@ -355,7 +374,7 @@ bool InitHTTPServer()
return false;
}
- evhttp_set_timeout(http, GetArg("-rpctimeout", DEFAULT_HTTP_TIMEOUT));
+ evhttp_set_timeout(http, GetArg("-rpcservertimeout", DEFAULT_HTTP_SERVER_TIMEOUT));
evhttp_set_max_body_size(http, MAX_SIZE);
evhttp_set_gencb(http, http_request_cb, NULL);