diff --git a/third-party/realdds/src/dds-network-adapter-watcher.cpp b/third-party/realdds/src/dds-network-adapter-watcher.cpp index 4cd3fd1e6d..5a6ba90e72 100644 --- a/third-party/realdds/src/dds-network-adapter-watcher.cpp +++ b/third-party/realdds/src/dds-network-adapter-watcher.cpp @@ -72,8 +72,15 @@ class network_adapter_watcher_singleton ~network_adapter_watcher_singleton() { _adapter_watcher.reset(); // signal the thread to finish - if( _th.joinable() ) - _th.join(); + try + { + if (_th.joinable()) + _th.join(); + } + catch (std::system_error& e) + { + LOG_ERROR("Network adapter watcher termination failed: " << e.what()); + } } void update_ips( ip_set * p_new_ips = nullptr, ip_set * p_old_ips = nullptr )