aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/internal.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2017-04-03 09:48:53 -0400
committerMichael Niedermayer <michael@niedermayer.cc>2017-04-13 02:29:26 +0200
commitb51217381dd748fd831ba9403cdcdc8277bd63d5 (patch)
tree477a4c67d8160f5fead8aacadae30da9d589d317 /libavcodec/internal.h
parentf5f0b2f44ce9df08f7a79b32d9209b23ba6b3447 (diff)
downloadffmpeg-b51217381dd748fd831ba9403cdcdc8277bd63d5.tar.gz
pthread_frame: call update_context_from_user() after acquiring lock.
Otherwise the thread may still be in the middle of decoding a previous frame, which would effectively trigger a race condition on any field concurrently read and written. In practice, this fixes tsan warnings like the following: WARNING: ThreadSanitizer: data race (pid=17380) Write of size 4 at 0x7d64000160fc by main thread: #0 update_context_from_user src/libavcodec/pthread_frame.c:335 (ffmpeg+0x000000dca515) [..] Previous read of size 4 at 0x7d64000160fc by thread T2 (mutexes: write M1821): #0 ff_thread_report_progress src/libavcodec/pthread_frame.c:565 (ffmpeg+0x000000dcb08a) (cherry picked from commit 1269cd5b6f540bef5913bf134d2f461aac50d70b) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/internal.h')
0 files changed, 0 insertions, 0 deletions