[FFmpeg-devel] [PATCH] avutil: fix data race in av_get_cpu_flags().

wm4 nfxjfg at googlemail.com
Tue Nov 22 14:14:47 EET 2016


On Mon, 21 Nov 2016 15:37:48 -0800
Wan-Teh Chang <wtc-at-google.com at ffmpeg.org> wrote:

> Hi,
> 
> This patch makes the one-time initialization in av_get_cpu_flags()
> thread-safe. The data race was reported by ThreadSanitizer.
> 
> Wan-Teh Chang (1):
>   avutil: fix data race in av_get_cpu_flags().
> 
>  libavutil/atomic.c       | 40 ++++++++++++++++++++++++++++++++++++++++
>  libavutil/atomic.h       | 34 ++++++++++++++++++++++++++++++++--
>  libavutil/atomic_gcc.h   | 33 +++++++++++++++++++++++++++++++++
>  libavutil/atomic_suncc.h | 19 +++++++++++++++++++
>  libavutil/atomic_win32.h | 21 +++++++++++++++++++++
>  libavutil/cpu.c          | 41 ++++++++++++++++++++++-------------------
>  libavutil/tests/atomic.c | 13 +++++++++++++
>  7 files changed, 180 insertions(+), 21 deletions(-)
> 

Seems like a good idea, but it's probably better until the C11 atomics
from Libav are merged. These can provide relaxed semantics as well.


More information about the ffmpeg-devel mailing list