diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-10-25 14:47:43 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-10-25 14:47:43 +0100 |
| commit | b6c780d3107557d452c6612d715d01e2be52dbda (patch) | |
| tree | 3548fe3eef61f3b0145bb33a57a89f97bfa75f50 /src/lib/job.cc | |
| parent | e725a6b4bce2a05275ee611965c62d6803f3bf7c (diff) | |
| parent | 0dcbc398124f740e4fd7b552926f601a3e5c755e (diff) | |
Merge master.
Diffstat (limited to 'src/lib/job.cc')
| -rw-r--r-- | src/lib/job.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/job.cc b/src/lib/job.cc index 1d3cb73b6..7be171417 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -231,8 +231,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) { @@ -350,6 +351,7 @@ Job::pause () { if (running ()) { set_state (PAUSED); + _pause_changed.notify_all (); } } @@ -358,5 +360,6 @@ Job::resume () { if (paused ()) { set_state (RUNNING); + _pause_changed.notify_all (); } } |
