summaryrefslogtreecommitdiff
path: root/src/lib/j2k_encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-11-21 14:29:46 +0100
committerCarl Hetherington <cth@carlh.net>2021-11-22 23:59:43 +0100
commit20f16e4370e0ed73daeb6a0b3f230f957964b241 (patch)
tree0ff0b614ef5606e753ba92b6355cb99e482ee2a7 /src/lib/j2k_encoder.cc
parent33acff363c978914cdcbf21fb8fa3d1c4c6991b7 (diff)
Prevent crashes if servers_list_changed() throws an exception.
Diffstat (limited to 'src/lib/j2k_encoder.cc')
-rw-r--r--src/lib/j2k_encoder.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/j2k_encoder.cc b/src/lib/j2k_encoder.cc
index 0f4109c14..b2513b72e 100644
--- a/src/lib/j2k_encoder.cc
+++ b/src/lib/j2k_encoder.cc
@@ -345,6 +345,7 @@ catch (...)
void
J2KEncoder::servers_list_changed ()
+try
{
boost::mutex::scoped_lock lm (_threads_mutex);
@@ -384,4 +385,9 @@ J2KEncoder::servers_list_changed ()
_writer->set_encoder_threads (_threads->size());
}
+catch (...) {
+ terminate_threads ();
+ throw;
+}
+