]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Use better get(); writen2(); release() idiom 11589/head
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Fri, 29 Apr 2022 10:17:35 +0000 (12:17 +0200)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Fri, 29 Apr 2022 10:17:35 +0000 (12:17 +0200)
pdns/signingpipe.cc

index 8f9817e694c846e34ffe1043091d65fdc1257db7..30bd41a81288451336d613a37f96196b3b3acfc6 100644 (file)
@@ -199,14 +199,9 @@ void ChunkedSigningPipe::sendRRSetToWorker() // it sounds so socialist!
   
   if(wantWrite && !rwVect.second.empty()) {
     shuffle(rwVect.second.begin(), rwVect.second.end(), pdns::dns_random_engine()); // pick random available worker
-    auto ptr = d_rrsetToSign.release();
-    try {
-      writen2(*rwVect.second.begin(), &ptr, sizeof(ptr));
-    }
-    catch (...) {
-      delete ptr;
-      throw;
-    }
+    auto ptr = d_rrsetToSign.get();
+    writen2(*rwVect.second.begin(), &ptr, sizeof(ptr));
+    d_rrsetToSign.release();
     d_rrsetToSign = make_unique<rrset_t>();
     d_outstandings[*rwVect.second.begin()]++;
     d_outstanding++;
@@ -255,14 +250,9 @@ void ChunkedSigningPipe::sendRRSetToWorker() // it sounds so socialist!
   if(wantWrite) {  // our optimization above failed, we now wait synchronously
     rwVect = waitForRW(false, wantWrite, -1); // wait for something to happen
     shuffle(rwVect.second.begin(), rwVect.second.end(), pdns::dns_random_engine()); // pick random available worker
-    auto ptr = d_rrsetToSign.release();
-    try {
-      writen2(*rwVect.second.begin(), &ptr, sizeof(ptr));
-    }
-    catch (...) {
-      delete ptr;
-      throw;
-    }
+    auto ptr = d_rrsetToSign.get();
+    writen2(*rwVect.second.begin(), &ptr, sizeof(ptr));
+    d_rrsetToSign.release();
     d_rrsetToSign = make_unique<rrset_t>();
     d_outstandings[*rwVect.second.begin()]++;
     d_outstanding++;