[FFmpeg-cvslog] threadprogress: reorder instructions to fix race.

Ronald S. Bultje git at videolan.org
Mon Feb 10 18:00:50 EET 2025


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Thu Feb  6 16:41:59 2025 -0500| [586de322ab7da5e689aedb2013fd8d36f4155141] | committer: Ronald S. Bultje

threadprogress: reorder instructions to fix race.

Fixes #11456.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=586de322ab7da5e689aedb2013fd8d36f4155141
---

 libavcodec/threadprogress.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libavcodec/threadprogress.c b/libavcodec/threadprogress.c
index 62c4fd898b..aa72ff80e7 100644
--- a/libavcodec/threadprogress.c
+++ b/libavcodec/threadprogress.c
@@ -55,9 +55,8 @@ void ff_thread_progress_report(ThreadProgress *pro, int n)
     if (atomic_load_explicit(&pro->progress, memory_order_relaxed) >= n)
         return;
 
-    atomic_store_explicit(&pro->progress, n, memory_order_release);
-
     ff_mutex_lock(&pro->progress_mutex);
+    atomic_store_explicit(&pro->progress, n, memory_order_release);
     ff_cond_broadcast(&pro->progress_cond);
     ff_mutex_unlock(&pro->progress_mutex);
 }



More information about the ffmpeg-cvslog mailing list