diff --git a/include/ircd/net/socket.h b/include/ircd/net/socket.h index 8e1c4524c..7f442f0e5 100644 --- a/include/ircd/net/socket.h +++ b/include/ircd/net/socket.h @@ -108,6 +108,8 @@ struct ircd::net::socket // Socket cannot be copied or moved; must be constructed as shared ptr socket(socket &&) = delete; socket(const socket &) = delete; + socket &operator=(socket &&) = delete; + socket &operator=(const socket &) = delete; ~socket() noexcept; }; diff --git a/ircd/net.cc b/ircd/net.cc index 0efb7e013..6fe88292e 100644 --- a/ircd/net.cc +++ b/ircd/net.cc @@ -1330,6 +1330,7 @@ ircd::net::socket::socket(asio::ssl::context &ssl, ircd::net::socket::~socket() noexcept try { + assert(instances > 0); if(unlikely(--instances == 0)) net::dock.notify_all();