Don't announce job is finished until things have been torn down; may help with #1674.
[dcpomatic.git] / src / lib / cross.cc
index a7fb298cb0b6084b88435f85eaae67d06adc5966..dcd4ddfd884b695ee2af4360605f4952702b2fce 100644 (file)
@@ -65,7 +65,7 @@ using boost::shared_ptr;
 
 /** @param s Number of seconds to sleep for */
 void
-dcpomatic_sleep (int s)
+dcpomatic_sleep_seconds (int s)
 {
 #ifdef DCPOMATIC_POSIX
        sleep (s);
@@ -337,6 +337,7 @@ void
 Waker::nudge ()
 {
 #ifdef DCPOMATIC_WINDOWS
+       boost::mutex::scoped_lock lm (_mutex);
        SetThreadExecutionState (ES_SYSTEM_REQUIRED);
 #endif
 }
@@ -344,6 +345,7 @@ Waker::nudge ()
 Waker::Waker ()
 {
 #ifdef DCPOMATIC_OSX
+       boost::mutex::scoped_lock lm (_mutex);
        /* We should use this */
         // IOPMAssertionCreateWithName (kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn, CFSTR ("Encoding DCP"), &_assertion_id);
        /* but it's not available on 10.5, so we use this */
@@ -354,6 +356,7 @@ Waker::Waker ()
 Waker::~Waker ()
 {
 #ifdef DCPOMATIC_OSX
+       boost::mutex::scoped_lock lm (_mutex);
        IOPMAssertionRelease (_assertion_id);
 #endif
 }