From: Francis Dupont Date: Sun, 22 Feb 2026 09:45:28 +0000 (+0100) Subject: [#4344] Unregister once X-Git-Tag: Kea-3.1.8~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=505e7c2393d5de2e22aaf5384cd16e488e072f63;p=thirdparty%2Fkea.git [#4344] Unregister once --- diff --git a/src/lib/http/connection.cc b/src/lib/http/connection.cc index f6fef33b1b..ae3498751f 100644 --- a/src/lib/http/connection.cc +++ b/src/lib/http/connection.cc @@ -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; diff --git a/src/lib/http/listener_impl.cc b/src/lib/http/listener_impl.cc index 00626023bd..46b42beed3 100644 --- a/src/lib/http/listener_impl.cc +++ b/src/lib/http/listener_impl.cc @@ -115,6 +115,7 @@ HttpListenerImpl::stop() { connections_->stopAll(); if (use_external_) { IfaceMgr::instance().deleteExternalSocket(acceptor_->getNative()); + use_external_ = false; } acceptor_->close(); }