]> granicus.if.org Git - pdns/commitdiff
ixfrdist: don't use variable length array
authorPieter Lexis <pieter.lexis@powerdns.com>
Fri, 13 Apr 2018 10:03:26 +0000 (12:03 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Fri, 13 Apr 2018 10:03:26 +0000 (12:03 +0200)
pdns/ixfrdist.cc

index e9e7c2f9109a7e2ce8293b998c867b3c441d9cd4..15217097370e85939a2d537461b7780224e86e16 100644 (file)
@@ -932,9 +932,9 @@ int main(int argc, char** argv) {
   g_log<<Logger::Notice<<"IXFR distributor starting up!"<<endl;
 
   std::thread ut(updateThread);
-  std::thread tcpHandlers[g_vm["tcp-out-threads"].as<uint16_t>()];
-  for (int i=0; i<g_vm["tcp-out-threads"].as<uint16_t>(); i++) {
-    tcpHandlers[i] = std::thread(tcpWorker, i);
+  vector<std::thread> tcpHandlers;
+  for (int i = 0; i < g_vm["tcp-out-threads"].as<uint16_t>(); ++i) {
+    tcpHandlers.push_back(std::thread(tcpWorker, i));
   }
 
   struct timeval now;
@@ -955,8 +955,8 @@ int main(int argc, char** argv) {
   }
   g_tcpHandlerCV.notify_all();
   ut.join();
-  for (int i=0; i<g_vm["tcp-out-threads"].as<uint16_t>(); i++) {
-    tcpHandlers[i].join();
+  for (auto &t : tcpHandlers) {
+    t.join();
   }
   g_log<<Logger::Notice<<"IXFR distributor stopped"<<endl;
   return EXIT_SUCCESS;