/*
- Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
#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 std::function;
using namespace dcpomatic;
/** @param film Associated film, or 0 */
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 */
void
Job::run_wrapper ()
{
+ start_of_thread (String::compose("Job-%1", json_name()));
+
try {
run ();
string m = String::compose (_("An error occurred whilst handling the file %1."), boost::filesystem::path (e.filename()).leaf());
try {
- boost::filesystem::space_info const s = boost::filesystem::space (e.filename());
+ auto const s = boost::filesystem::space (e.filename());
if (s.available < pow (1024, 3)) {
m += N_("\n\n");
m += _("The drive that the film is stored on is low in disc space. Free some more space and try again.");
} catch (sub::SubripError& e) {
string extra = "Error is near:\n";
- BOOST_FOREACH (string i, e.context()) {
+ for (auto i: e.context()) {
extra += i + "\n";
}
s += buffer;
if (t > 10 && r > 0) {
- boost::posix_time::ptime now = boost::posix_time::second_clock::local_time();
- boost::posix_time::ptime finish = now + boost::posix_time::seconds(r);
+ auto now = boost::posix_time::second_clock::local_time();
+ auto finish = now + boost::posix_time::seconds(r);
char finish_string[16];
snprintf (finish_string, sizeof(finish_string), "%02d:%02d", int(finish.time_of_day().hours()), int(finish.time_of_day().minutes()));
string day;