]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#4344] Unregister once
authorFrancis Dupont <fdupont@isc.org>
Sun, 22 Feb 2026 09:45:28 +0000 (10:45 +0100)
committerFrancis Dupont <fdupont@isc.org>
Mon, 27 Apr 2026 12:52:43 +0000 (14:52 +0200)
src/lib/http/connection.cc
src/lib/http/listener_impl.cc

index f6fef33b1ba2cb9b891b74617e8233bb876251ba..ae3498751fb95d8957d4052716136bbec75dc06f 100644 (file)
@@ -132,6 +132,7 @@ HttpConnection::shutdownCallback(const boost::system::error_code&) {
     if (use_external_) {
         IfaceMgr::instance().deleteExternalSocket(tls_socket_->getNative());
         closeWatchSocket();
+        use_external_ = false;
     }
 
     tls_socket_->close();
@@ -144,6 +145,7 @@ HttpConnection::shutdown() {
         if (use_external_) {
             IfaceMgr::instance().deleteExternalSocket(tcp_socket_->getNative());
             closeWatchSocket();
+            use_external_ = false;
         }
         tcp_socket_->close();
         return;
@@ -214,6 +216,7 @@ HttpConnection::close() {
         if (use_external_) {
             IfaceMgr::instance().deleteExternalSocket(tcp_socket_->getNative());
             closeWatchSocket();
+            use_external_ = false;
         }
         tcp_socket_->close();
         return;
@@ -222,6 +225,7 @@ HttpConnection::close() {
         if (use_external_) {
             IfaceMgr::instance().deleteExternalSocket(tls_socket_->getNative());
             closeWatchSocket();
+            use_external_ = false;
         }
         tls_socket_->close();
         return;
index 00626023bdb99fa393da078b95eb0be647bb45ff..46b42beed372440dc6e566a63704ae0a9dc5f6ee 100644 (file)
@@ -115,6 +115,7 @@ HttpListenerImpl::stop() {
     connections_->stopAll();
     if (use_external_) {
         IfaceMgr::instance().deleteExternalSocket(acceptor_->getNative());
+        use_external_ = false;
     }
     acceptor_->close();
 }