]> granicus.if.org Git - pdns/commitdiff
rec: Wait until after daemonizing to start the outgoing protobuf thread
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 16 Dec 2016 09:40:55 +0000 (10:40 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 16 Dec 2016 10:30:49 +0000 (11:30 +0100)
pdns/rec-lua-conf.cc

index 32afe58f0ddaec2a912b20c2dddf30b50b21e6bd..fe7d5570d37ad17cf3edbf49cf64353c44805520 100644 (file)
@@ -296,11 +296,13 @@ void loadRecursorLuaConfig(const std::string& fname, bool checkOnly)
       }
     });
 
-  Lua.writeFunction("outgoingProtobufServer", [&lci](const string& server_, const boost::optional<uint16_t> timeout, const boost::optional<uint64_t> maxQueuedEntries, const boost::optional<uint8_t> reconnectWaitTime, boost::optional<bool> asyncConnect) {
+  Lua.writeFunction("outgoingProtobufServer", [&lci, checkOnly](const string& server_, const boost::optional<uint16_t> timeout, const boost::optional<uint64_t> maxQueuedEntries, const boost::optional<uint8_t> reconnectWaitTime, boost::optional<bool> asyncConnect) {
       try {
        ComboAddress server(server_);
         if (!lci.outgoingProtobufServer) {
-          lci.outgoingProtobufServer = std::make_shared<RemoteLogger>(server, timeout ? *timeout : 2, maxQueuedEntries ? *maxQueuedEntries : 100, reconnectWaitTime ? *reconnectWaitTime : 1, asyncConnect ? *asyncConnect : false);
+          if (!checkOnly) {
+            lci.outgoingProtobufServer = std::make_shared<RemoteLogger>(server, timeout ? *timeout : 2, maxQueuedEntries ? *maxQueuedEntries : 100, reconnectWaitTime ? *reconnectWaitTime : 1, asyncConnect ? *asyncConnect : false);
+          }
         }
         else {
           theL()<<Logger::Error<<"Only one protobuf server can be configured, we already have "<<lci.protobufServer->toString()<<endl;