File tree Expand file tree Collapse file tree 7 files changed +16
-26
lines changed
Expand file tree Collapse file tree 7 files changed +16
-26
lines changed Original file line number Diff line number Diff line change @@ -209,16 +209,7 @@ class NakedDhcpv4Srv: public Dhcpv4Srv {
209209 fake_received_.push_back (pkt);
210210 }
211211
212- virtual ~NakedDhcpv4Srv () {
213- // Close the lease database
214- isc::dhcp::LeaseMgrFactory::destroy ();
215-
216- getIOService ()->restart ();
217- try {
218- getIOService ()->poll ();
219- } catch (...) {
220- }
221- }
212+ virtual ~NakedDhcpv4Srv () = default ;
222213
223214 // / @brief Runs processing DHCPDISCOVER.
224215 // /
Original file line number Diff line number Diff line change @@ -216,11 +216,7 @@ class NakedDhcpv6Srv: public isc::dhcp::Dhcpv6Srv {
216216 fake_received_.push_back (pkt);
217217 }
218218
219- virtual ~NakedDhcpv6Srv () {
220- // Close the lease database
221- isc::dhcp::LeaseMgrFactory::destroy ();
222- getIOService ()->stopAndPoll ();
223- }
219+ virtual ~NakedDhcpv6Srv () = default ;
224220
225221 // / @brief Processes incoming Solicit message.
226222 // /
Original file line number Diff line number Diff line change @@ -429,11 +429,8 @@ int load(LibraryHandle& handle) {
429429// / @return 0 if deregistration was successful, 1 otherwise
430430int unload () {
431431 if (impl) {
432- IOServicePtr io_service = impl->getIOService ();
433- IOServiceMgr::instance ().unregisterIOService (io_service);
434- io_service->stopAndPoll ();
432+ IOServiceMgr::instance ().unregisterIOService (impl->getIOService ());
435433 impl.reset ();
436- io_service->stopAndPoll ();
437434 }
438435 LOG_INFO (ha_logger, HA_DEINIT_OK);
439436 return (0 );
Original file line number Diff line number Diff line change @@ -66,6 +66,9 @@ HAImpl::~HAImpl() {
6666 // than relying on destruction order.
6767 service->stopClientAndListener ();
6868 }
69+ config_.reset ();
70+ services_.reset (new HAServiceMapper ());
71+ io_service_->stopAndPoll ();
6972}
7073
7174void
Original file line number Diff line number Diff line change @@ -245,7 +245,6 @@ class HAImpl : public boost::noncopyable {
245245
246246 // / @brief Pointer to the high availability services (state machines).
247247 HAServiceMapperPtr services_;
248-
249248};
250249
251250// / @brief Pointer to the High Availability hooks library implementation.
Original file line number Diff line number Diff line change @@ -94,9 +94,11 @@ int unload() {
9494 // Unregister the factories and remove MySQL backends
9595 isc::dhcp::MySqlConfigBackendDHCPv4::unregisterBackendType ();
9696 isc::dhcp::MySqlConfigBackendDHCPv6::unregisterBackendType ();
97- IOServiceMgr::instance ().unregisterIOService (isc::dhcp::MySqlConfigBackendImpl::getIOService ());
98- if (isc::dhcp::MySqlConfigBackendImpl::getIOService ()) {
99- isc::dhcp::MySqlConfigBackendImpl::getIOService ()->stopAndPoll ();
97+ IOServicePtr io_service = isc::dhcp::MySqlConfigBackendImpl::getIOService ();
98+ if (io_service) {
99+ IOServiceMgr::instance ().unregisterIOService (io_service);
100+ io_service->stopAndPoll ();
101+ isc::dhcp::MySqlConfigBackendImpl::setIOService (IOServicePtr ());
100102 }
101103 return (0 );
102104}
Original file line number Diff line number Diff line change @@ -94,9 +94,11 @@ int unload() {
9494 // Unregister the factories and remove PostgreSQL backends
9595 isc::dhcp::PgSqlConfigBackendDHCPv4::unregisterBackendType ();
9696 isc::dhcp::PgSqlConfigBackendDHCPv6::unregisterBackendType ();
97- IOServiceMgr::instance ().unregisterIOService (isc::dhcp::PgSqlConfigBackendImpl::getIOService ());
98- if (isc::dhcp::PgSqlConfigBackendImpl::getIOService ()) {
99- isc::dhcp::PgSqlConfigBackendImpl::getIOService ()->stopAndPoll ();
97+ IOServicePtr io_service = isc::dhcp::PgSqlConfigBackendImpl::getIOService ();
98+ if (io_service) {
99+ IOServiceMgr::instance ().unregisterIOService (io_service);
100+ io_service->stopAndPoll ();
101+ isc::dhcp::PgSqlConfigBackendImpl::setIOService (IOServicePtr ());
100102 }
101103 return (0 );
102104}
You can’t perform that action at this time.
0 commit comments