diff options
Diffstat (limited to 'src/lib/encode_server_finder.cc')
| -rw-r--r-- | src/lib/encode_server_finder.cc | 16 |
1 files changed, 12 insertions, 4 deletions
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 (); + } } } |
