Difficult to see how any unprotected write with multiple readers
[dcpomatic.git] / src / lib / writer.cc
index d346c4a4ff32eba5573ffe6c897f29301a02f101..699f220c4df31fdef6dfbae02086515119e60fd6 100644 (file)
@@ -777,10 +777,9 @@ Writer::video_reel (int frame) const
 void
 Writer::set_digest_progress (Job* job, float progress)
 {
-       /* I believe this is thread-safe */
-       _digest_progresses[boost::this_thread::get_id()] = progress;
-
        boost::mutex::scoped_lock lm (_digest_progresses_mutex);
+
+       _digest_progresses[boost::this_thread::get_id()] = progress;
        float min_progress = FLT_MAX;
        for (map<boost::thread::id, float>::const_iterator i = _digest_progresses.begin(); i != _digest_progresses.end(); ++i) {
                min_progress = min (min_progress, i->second);