#include <sub/exceptions.h>
#include <boost/thread.hpp>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <iostream>
using std::string;
using std::list;
using std::cout;
-using boost::shared_ptr;
+using std::shared_ptr;
using boost::optional;
using boost::function;
using namespace dcpomatic;
void
Job::stop_thread ()
{
- if (!_thread.joinable()) {
- return;
- }
+ boost::this_thread::disable_interruption dis;
_thread.interrupt ();
try {
_thread.join ();
- } catch (...) {
- /* Too late to do anything about this */
- }
+ } catch (...) {}
}
/** Start the job in a separate thread, returning immediately */
} catch (sub::SubripError& e) {
string extra = "Error is near:\n";
- BOOST_FOREACH (string i, e.context()) {
+ for (auto i: e.context()) {
extra += i + "\n";
}
set_progress (1);
set_state (FINISHED_ERROR);
- } catch (dcp::DCPReadError& e) {
+ } catch (dcp::ReadError& e) {
set_error (e.message(), e.detail().get_value_or(""));
set_progress (1);