diff --git a/ircd/net.cc b/ircd/net.cc index 7763e5de4..6e02e500c 100644 --- a/ircd/net.cc +++ b/ircd/net.cc @@ -2789,7 +2789,7 @@ noexcept try if(unlikely(--instances == 0)) net::dock.notify_all(); - if((RB_DEBUG_LEVEL) && unlikely(opened(*this))) + if(unlikely(opened(*this))) throw panic { "Failed to ensure socket(%p) is disconnected from %s before dtor.", @@ -2808,6 +2808,16 @@ catch(const std::exception &e) return; } +catch(...) +{ + log::critical + { + log, "socket(%p) close: unexpected", + this, + }; + + ircd::terminate(); +} void ircd::net::socket::connect(const endpoint &ep,