From 8862cbbb7e857c90d405069ad7d41a8d58029194 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 3 Jul 2016 20:36:20 +0100 Subject: Remove several exception-throwing asserts from destructors. --- src/lib/encode_server_finder.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/lib/encode_server_finder.cc') diff --git a/src/lib/encode_server_finder.cc b/src/lib/encode_server_finder.cc index 7491d9ef7..eebf404fa 100644 --- a/src/lib/encode_server_finder.cc +++ b/src/lib/encode_server_finder.cc @@ -64,14 +64,22 @@ EncodeServerFinder::~EncodeServerFinder () _search_condition.notify_all (); if (_search_thread) { - DCPOMATIC_ASSERT (_search_thread->joinable ()); - _search_thread->join (); + /* Ideally this would be a DCPOMATIC_ASSERT(_search_thread->joinable()) but we + can't throw exceptions from a destructor. + */ + if (_search_thread->joinable ()) { + _search_thread->join (); + } } _listen_io_service.stop (); if (_listen_thread) { - DCPOMATIC_ASSERT (_listen_thread->joinable ()); - _listen_thread->join (); + /* Ideally this would be a DCPOMATIC_ASSERT(_listen_thread->joinable()) but we + can't throw exceptions from a destructor. + */ + if (_listen_thread->joinable ()) { + _listen_thread->join (); + } } } -- cgit v1.2.3