Remove relative path elements from test location.
[dcpomatic.git] / src / lib / job.cc
index b5be02b4c2ce0a9da71196383b4b16fecd4619b0..65e2567cc824710988cfc953a96b7cbd32c0602b 100644 (file)
@@ -87,6 +87,9 @@ Job::start ()
        _start_time = time (0);
        _sub_start_time = time (0);
        _thread = new boost::thread (boost::bind (&Job::run_wrapper, this));
+#ifdef DCPOMATIC_LINUX
+       pthread_setname_np (_thread->native_handle(), "job-wrapper");
+#endif
 }
 
 /** A wrapper for the ::run() method to catch exceptions */
@@ -171,6 +174,12 @@ Job::run_wrapper ()
                set_progress (1);
                set_state (FINISHED_ERROR);
 
+       } catch (dcp::DCPReadError& e) {
+
+               set_error (e.what(), "");//message(), e.detail().get_value_or(""));
+               set_progress (1);
+               set_state (FINISHED_ERROR);
+
        } catch (std::exception& e) {
 
                set_error (
@@ -425,8 +434,8 @@ Job::status () const
                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);
-                       char finish_string[6];
-                       snprintf (finish_string, sizeof(finish_string), "%02d:%02d", finish.time_of_day().hours(), finish.time_of_day().minutes());
+                       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;
                        if (now.date() != finish.date()) {
                                /// TRANSLATORS: the %1 in this string will be filled in with a day of the week