]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
ixfrdist: hook up webserver thread
authorPieter Lexis <pieter.lexis@powerdns.com>
Mon, 12 Nov 2018 16:23:57 +0000 (17:23 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Mon, 12 Nov 2018 18:24:31 +0000 (19:24 +0100)
pdns/ixfrdist-web.cc
pdns/ixfrdist-web.hh
pdns/ixfrdist.cc

index 334306efe3508ac1ca87da29282c2f015f36bbc5..93f610aa7cf7ed3ed2a7bef55d94d71bdfd19b09 100644 (file)
@@ -31,18 +31,13 @@ IXFRDistWebServer::IXFRDistWebServer(const ComboAddress &listenAddress, const Ne
   // TODO wrap in smart pointer
   d_ws = new WebServer(listenAddress.toString() , listenAddress.getPort());
   d_ws->setACL(acl);
+  d_ws->registerWebHandler("/metrics", boost::bind(&IXFRDistWebServer::getMetrics, this, _1, _2));
   d_ws->bind();
 }
 
 void IXFRDistWebServer::go() {
-  // std::thread wt(IXFRDistWebServer::webThread);
-  d_ws->registerWebHandler("/metrics", boost::bind(&IXFRDistWebServer::getMetrics, this, _1, _2));
-  d_ws->go();
-  // wt.detach();
-}
-
-void IXFRDistWebServer::webThread() {
   setThreadName("ixfrdist/web");
+  d_ws->go();
 }
 
 void IXFRDistWebServer::getMetrics(HttpRequest* req, HttpResponse* resp) {
index e6aaae398c62cc32b375322161c9701d541f8bec..7b2871453f461006da76b94fb2df4edcd1ce7c50 100644 (file)
@@ -22,7 +22,6 @@
 #pragma once
 #include "webserver.hh"
 #include "iputils.hh"
-//#include "ixfrdist-stats.hh"
 
 class IXFRDistWebServer
 {
@@ -32,7 +31,6 @@ class IXFRDistWebServer
 
   private:
     WebServer *d_ws;
-    void webThread();
 
     // All endpoints
     void getMetrics(HttpRequest* req, HttpResponse* resp);
index d82f5138435557f1213a198775c4be7beaae6706..ad8b05065ea52a18ece8208f425f76fbd67cb97b 100644 (file)
@@ -1257,7 +1257,7 @@ int main(int argc, char** argv) {
     }
 
     auto ws = IXFRDistWebServer(config["webserver-address"].as<ComboAddress>(), wsACL);
-    ws.go();
+    std::thread (&IXFRDistWebServer::go, ws).detach();
   }
 
   int newuid = 0;