From 191b9aece985643210dc6b2352b390cdfc386f4d Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 20 Dec 2020 23:17:16 +0100 Subject: Catch exceptions better during hints thread. --- src/lib/hints.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/hints.cc b/src/lib/hints.cc index 131548035..ffe6d8e73 100644 --- a/src/lib/hints.cc +++ b/src/lib/hints.cc @@ -390,7 +390,15 @@ Hints::thread () boost::filesystem::path dcp_dir = film->dir("hints") / dcpomatic::get_process_id(); boost::filesystem::remove_all (dcp_dir); - _writer->finish (film->dir("hints") / dcpomatic::get_process_id()); + + try { + _writer->finish (film->dir("hints") / dcpomatic::get_process_id()); + } catch (...) { + store_current (); + emit (bind(boost::ref(Finished))); + return; + } + dcp::DCP dcp (dcp_dir); dcp.read (); DCPOMATIC_ASSERT (dcp.cpls().size() == 1); -- cgit v1.2.3