connectionmanager: catch exception if initIceInstance throws
backport from 6c7042e1338fa62c7f45018e489e7d3781ede79a in jami-daemon
Change-Id: I0dd69d7908137e3715d6a9158b5a0c4975b7748a
diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp
index 96bd6ba..e4453f0 100644
--- a/src/connectionmanager.cpp
+++ b/src/connectionmanager.cpp
@@ -756,7 +756,13 @@
info->ice_->setOnShutdown([eraseInfo]() {
dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
});
- info->ice_->initIceInstance(ice_config);
+ try {
+ info->ice_->initIceInstance(ice_config);
+ } catch (const std::exception& e) {
+ if (sthis->config_->logger)
+ sthis->config_->logger->error("{}", e.what());
+ dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
+ }
});
});
}
@@ -1152,7 +1158,13 @@
info->ice_->setOnShutdown([eraseInfo]() {
dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
});
- info->ice_->initIceInstance(ice_config);
+ try {
+ info->ice_->initIceInstance(ice_config);
+ } catch (const std::exception& e) {
+ if (shared->config_->logger)
+ shared->config_->logger->error("{}", e.what());
+ dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
+ }
});
}