]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
only load the Lua script in worker threads
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Thu, 26 Jul 2018 14:24:06 +0000 (16:24 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Thu, 26 Jul 2018 14:24:06 +0000 (16:24 +0200)
pdns/pdns_recursor.cc

index 854275af96c3bb2d790ce3df0826a075f827bafa..6d3c7ccae791843cb7026243357a9b1e10bcd321 100644 (file)
@@ -3603,16 +3603,18 @@ try
   setupNODThread();
 #endif /* NOD_ENABLED */
   
-  try {
-    if(!::arg()["lua-dns-script"].empty()) {
-      t_pdl = std::make_shared<RecursorLua4>();
-      t_pdl->loadFile(::arg()["lua-dns-script"]);
-      g_log<<Logger::Warning<<"Loaded 'lua' script from '"<<::arg()["lua-dns-script"]<<"'"<<endl;
+  if(worker) {
+    try {
+      if(!::arg()["lua-dns-script"].empty()) {
+        t_pdl = std::make_shared<RecursorLua4>();
+        t_pdl->loadFile(::arg()["lua-dns-script"]);
+        g_log<<Logger::Warning<<"Loaded 'lua' script from '"<<::arg()["lua-dns-script"]<<"'"<<endl;
+      }
+    }
+    catch(std::exception &e) {
+      g_log<<Logger::Error<<"Failed to load 'lua' script from '"<<::arg()["lua-dns-script"]<<"': "<<e.what()<<endl;
+      _exit(99);
     }
-  }
-  catch(std::exception &e) {
-    g_log<<Logger::Error<<"Failed to load 'lua' script from '"<<::arg()["lua-dns-script"]<<"': "<<e.what()<<endl;
-    _exit(99);
   }
 
   unsigned int ringsize=::arg().asNum("stats-ringbuffer-entries") / g_numWorkerThreads;