X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fjob.cc;h=52276c0eab3d69ae834f08bd80d8522715c66cd7;hp=52ec1426c0bd0300a6658293471ef795e2e995ae;hb=19556e0f1bb854fffffc7d473dea5335c85c667a;hpb=819590f9f8217235ebf4467b1d24e1aec1f97c29 diff --git a/src/lib/job.cc b/src/lib/job.cc index 52ec1426c..52276c0ea 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -230,8 +230,9 @@ Job::set_progress (float p, bool force) _progress = p; boost::this_thread::interruption_point (); - if (paused ()) { - dcpomatic_sleep (1); + boost::mutex::scoped_lock lm2 (_state_mutex); + while (_state == PAUSED) { + _pause_changed.wait (lm2); } if (ui_signaller) { @@ -348,6 +349,7 @@ Job::pause () { if (running ()) { set_state (PAUSED); + _pause_changed.notify_all (); } } @@ -356,5 +358,6 @@ Job::resume () { if (paused ()) { set_state (RUNNING); + _pause_changed.notify_all (); } }