projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix length of player output so it can be either the film's length or playlist's lengt...
[dcpomatic.git]
/
src
/
lib
/
job_manager.cc
diff --git
a/src/lib/job_manager.cc
b/src/lib/job_manager.cc
index e2302a2153a01275686c20d724849328bb3c752a..d95f95a2481ba860ae4ee0c304d3190cf09f53f9 100644
(file)
--- a/
src/lib/job_manager.cc
+++ b/
src/lib/job_manager.cc
@@
-46,7
+46,6
@@
JobManager* JobManager::_instance = 0;
JobManager::JobManager ()
: _terminate (false)
, _paused (false)
JobManager::JobManager ()
: _terminate (false)
, _paused (false)
- , _scheduler (0)
{
}
{
}
@@
-54,9
+53,9
@@
JobManager::JobManager ()
void
JobManager::start ()
{
void
JobManager::start ()
{
- _scheduler =
new boost::thread (boost::bind
(&JobManager::scheduler, this));
+ _scheduler =
boost::thread (boost::bind
(&JobManager::scheduler, this));
#ifdef DCPOMATIC_LINUX
#ifdef DCPOMATIC_LINUX
- pthread_setname_np (_scheduler
->
native_handle(), "job-scheduler");
+ pthread_setname_np (_scheduler
.
native_handle(), "job-scheduler");
#endif
}
#endif
}
@@
-72,16
+71,13
@@
JobManager::~JobManager ()
_empty_condition.notify_all ();
}
_empty_condition.notify_all ();
}
- if (_scheduler) {
- /* Ideally this would be a DCPOMATIC_ASSERT(_scheduler->joinable()) but we
- can't throw exceptions from a destructor.
- */
- if (_scheduler->joinable ()) {
- _scheduler->join ();
+ if (_scheduler.joinable()) {
+ try {
+ _scheduler.join();
+ } catch (...) {
+
}
}
}
}
-
- delete _scheduler;
}
shared_ptr<Job>
}
shared_ptr<Job>
@@
-233,7
+229,7
@@
JobManager::analyse_audio (
BOOST_FOREACH (shared_ptr<Job> i, _jobs) {
shared_ptr<AnalyseAudioJob> a = dynamic_pointer_cast<AnalyseAudioJob> (i);
BOOST_FOREACH (shared_ptr<Job> i, _jobs) {
shared_ptr<AnalyseAudioJob> a = dynamic_pointer_cast<AnalyseAudioJob> (i);
- if (a && a->p
laylist () == playlist
) {
+ if (a && a->p
ath() == film->audio_analysis_path(playlist)
) {
i->when_finished (connection, ready);
return;
}
i->when_finished (connection, ready);
return;
}