]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
clang-tidy: replace bind with lambdas
authorRosen Penev <rosenp@gmail.com>
Thu, 5 Nov 2020 08:47:27 +0000 (00:47 -0800)
committerRosen Penev <rosenp@gmail.com>
Fri, 5 Feb 2021 01:23:25 +0000 (17:23 -0800)
Found with modernize-avoid-bind

Signed-off-by: Rosen Penev <rosenp@gmail.com>
pdns/communicator.cc
pdns/distributor.hh
pdns/dnsdist-lua-actions.cc
pdns/dnsproxy.cc
pdns/dynlistener.cc
pdns/ixfrdist-web.cc
pdns/tcpreceiver.cc
pdns/webserver.cc
pdns/ws-auth.cc
pdns/ws-recursor.cc

index 2bbf969db62f1d4cfc10159917aad62728342a25..19135f8c869b0f412d12e01c68d183f857403d3b 100644 (file)
@@ -84,11 +84,11 @@ void CommunicatorClass::go()
     _exit(1);
   }
 
-  std::thread mainT(std::bind(&CommunicatorClass::mainloop, this));
+  std::thread mainT([this](){mainloop();});
   mainT.detach();
 
   for(int n=0; n < ::arg().asNum("retrieval-threads", 1); ++n) {
-    std::thread retrieve(std::bind(&CommunicatorClass::retrievalLoopThread, this));
+    std::thread retrieve([this](){retrievalLoopThread();});
     retrieve.detach();
   }
 
index 38f08005ef58a2e61f45e658f64416fc87a9c758..430f0981392d6f809bcce144e1bfffb30d5ad3c8 100644 (file)
@@ -170,7 +170,7 @@ template<class Answer, class Question, class Backend>MultiThreadDistributor<Answ
 
   g_log<<Logger::Warning<<"About to create "<<n<<" backend threads for UDP"<<endl;
   for(int i=0;i<n;i++) {
-    std::thread t(std::bind(&MultiThreadDistributor<Answer,Question,Backend>::distribute, this, i));
+    std::thread t([=](){distribute(i);});
     t.detach();
     Utility::usleep(50000); // we've overloaded mysql in the past :-)
   }
index c488e649fc65ad2221cd24961810f6680f1eef73..dd42747aa44651ba558ca12ad9762981944a5a3a 100644 (file)
@@ -160,7 +160,7 @@ TeeAction::TeeAction(const ComboAddress& ca, bool addECS) : d_remote(ca), d_addE
   try {
     SConnect(d_fd, d_remote);
     setNonBlocking(d_fd);
-    d_worker=std::thread(std::bind(&TeeAction::worker, this));
+    d_worker=std::thread([this](){worker();});
   }
   catch (...) {
     if (d_fd != -1) {
index 6fb166b113f86c23b30c9fc77646f03690b5907c..54eff3209705518adb3922039af6ace036e0b67a 100644 (file)
@@ -85,7 +85,7 @@ DNSProxy::DNSProxy(const string &remote)
 
 void DNSProxy::go()
 {
-  std::thread t(std::bind(&DNSProxy::mainloop, this));
+  std::thread t([this](){mainloop();});
   t.detach();
 }
 
index ab10d114dadc0adb4ced1f138a6e11e8cc4364c0..656538e98fa25f21e2693e069ea7b3a92c2f83ee 100644 (file)
@@ -204,7 +204,7 @@ DynListener::DynListener(const string &progname)
 void DynListener::go()
 {
   d_ppid=getpid();
-  std::thread listener(std::bind(&DynListener::theListener,this));
+  std::thread listener([this](){theListener();});
   listener.detach();
 }
 
index ebc456cedb371602cf12583e6dd8bfa7083ff3ca..91596a62d52c69001961658adf5905b6ff82de35 100644 (file)
@@ -30,7 +30,7 @@ IXFRDistWebServer::IXFRDistWebServer(const ComboAddress &listenAddress, const Ne
 {
   d_ws->setACL(acl);
   d_ws->setLogLevel(loglevel);
-  d_ws->registerWebHandler("/metrics", std::bind(&IXFRDistWebServer::getMetrics, this, std::placeholders::_1, std::placeholders::_2));
+  d_ws->registerWebHandler("/metrics", [this](HttpRequest* req, HttpResponse* resp){getMetrics(req, resp);});
   d_ws->bind();
 }
 
index ebc7505b9f445e81ade55103f856219babbc333d..1cd35936fe33d5b89bc496e480f12158641db26c 100644 (file)
@@ -88,7 +88,7 @@ void TCPNameserver::go()
     g_log<<Logger::Error<<"TCP server is unable to launch backends - will try again when questions come in: "<<ae.reason<<endl;
   }
 
-  std::thread th(std::bind(&TCPNameserver::thread, this));
+  std::thread th([this](){thread();});
   th.detach();
 }
 
index 91e5487b82366575d6815030b7d8b7a4be6040c0..d573094799da52313efa279a185c9c6158fa502f 100644 (file)
@@ -199,7 +199,7 @@ void WebServer::apiWrapper(WebServer::HandlerFunction handler, HttpRequest* req,
 }
 
 void WebServer::registerApiHandler(const string& url, HandlerFunction handler, bool allowPassword) {
-  HandlerFunction f = std::bind(&WebServer::apiWrapper, this, handler, std::placeholders::_1, std::placeholders::_2, allowPassword);
+  auto f = [=](HttpRequest *req, HttpResponse* resp){apiWrapper(handler, req, resp, allowPassword);};
   registerBareHandler(url, f);
 }
 
@@ -216,7 +216,7 @@ void WebServer::webWrapper(WebServer::HandlerFunction handler, HttpRequest* req,
 }
 
 void WebServer::registerWebHandler(const string& url, HandlerFunction handler) {
-  HandlerFunction f = std::bind(&WebServer::webWrapper, this, handler, std::placeholders::_1, std::placeholders::_2);
+  auto f = [=](HttpRequest *req, HttpResponse *resp){webWrapper(handler, req, resp);};
   registerBareHandler(url, f);
 }
 
index 5ff8b79ba65f90d068556195c7710c4e3e56e4e7..34236f1b4ef7c347d5dfd21e1ea4d6e8e6fb583f 100644 (file)
@@ -83,9 +83,9 @@ AuthWebServer::AuthWebServer() :
 void AuthWebServer::go()
 {
   S.doRings();
-  std::thread webT(std::bind(&AuthWebServer::webThread, this));
+  std::thread webT([this](){webThread();});
   webT.detach();
-  std::thread statT(std::bind(&AuthWebServer::statThread, this));
+  std::thread statT([this](){statThread();});
   statT.detach();
 }
 
@@ -2327,8 +2327,8 @@ void AuthWebServer::webThread()
       d_ws->registerApiHandler("/api", &apiDiscovery);
     }
     if (::arg().mustDo("webserver")) {
-      d_ws->registerWebHandler("/style.css", std::bind(&AuthWebServer::cssfunction, this, std::placeholders::_1, std::placeholders::_2));
-      d_ws->registerWebHandler("/", std::bind(&AuthWebServer::indexfunction, this, std::placeholders::_1, std::placeholders::_2));
+      d_ws->registerWebHandler("/style.css", [this](HttpRequest *req, HttpResponse *resp){cssfunction(req, resp);});
+      d_ws->registerWebHandler("/", [this](HttpRequest *req, HttpResponse *resp){indexfunction(req, resp);});
       d_ws->registerWebHandler("/metrics", prometheusMetrics);
     }
     d_ws->go();
index c6f521d8fbef6e5320e478974e59321157cfb849..76eb2d77316b089446fb85ee6f3e94ff4b2d7ad3 100644 (file)
@@ -525,7 +525,7 @@ RecursorWebServer::RecursorWebServer(FDMultiplexer* fdm)
   d_ws->bind();
 
   // legacy dispatch
-  d_ws->registerApiHandler("/jsonstat", std::bind(&RecursorWebServer::jsonstat, this, std::placeholders::_1, std::placeholders::_2), true);
+  d_ws->registerApiHandler("/jsonstat", [this](HttpRequest* req, HttpResponse* resp){jsonstat(req, resp);}, true);
   d_ws->registerApiHandler("/api/v1/servers/localhost/cache/flush", &apiServerCacheFlush);
   d_ws->registerApiHandler("/api/v1/servers/localhost/config/allow-from", &apiServerConfigAllowFrom);
   d_ws->registerApiHandler("/api/v1/servers/localhost/config", &apiServerConfig);
@@ -679,7 +679,7 @@ void AsyncServerNewConnectionMT(void *p) {
 void AsyncServer::asyncWaitForConnections(FDMultiplexer* fdm, const newconnectioncb_t& callback)
 {
   d_asyncNewConnectionCallback = callback;
-  fdm->addReadFD(d_server_socket.getHandle(), std::bind(&AsyncServer::newConnection, this));
+  fdm->addReadFD(d_server_socket.getHandle(), [this] (int, boost::any&){ newConnection();});
 }
 
 void AsyncServer::newConnection()
@@ -762,5 +762,5 @@ void AsyncWebServer::go() {
   auto server = std::dynamic_pointer_cast<AsyncServer>(d_server);
   if (!server)
     return;
-  server->asyncWaitForConnections(d_fdm, std::bind(&AsyncWebServer::serveConnection, this, std::placeholders::_1));
+  server->asyncWaitForConnections(d_fdm, [this](const std::shared_ptr<Socket>& c){serveConnection(c);});
 }