[FFmpeg-devel] [PATCH] pthread_frame: save the FF_DEBUG_THREADS option in PerThreadContext.

Ronald S. Bultje rsbultje at gmail.com
Tue Jul 11 00:51:03 EEST 2017


Hi,

On Mon, Jul 10, 2017 at 1:24 PM, Wan-Teh Chang <wtc-at-google.com at ffmpeg.org
> wrote:

> Add the debug_threads boolean field to PerThreadContext. For
> PerThreadContext *p, p->debug_threads records whether the
> FF_DEBUG_THREADS bit is set in p->avctx->debug, and p->debug_threads and
> p->avctx->debug are kept in sync. The debug_threads field is defined as
> an atomic_int to allow atomic read by another thread in
> ff_thread_await_progress().
>
> This fixes the tsan warning that
> 2e664b9c1e73c80aab91070c1eb7676f04bdd12d attempted to fix:
>
> WARNING: ThreadSanitizer: data race (pid=452658)
>   Write of size 4 at 0x7b640003f4fc by main thread (mutexes: write
> M248499):
>     #0 update_context_from_user [..]/libavcodec/pthread_frame.c:335:19 (
> 5ab42bb1a6f4b068d7863dabe9b2bacc+0xe73859)
> [..]
>   Previous read of size 4 at 0x7b640003f4fc by thread T130 (mutexes: write
> M248502, write M248500):
>     #0 ff_thread_await_progress [..]/libavcodec/pthread_frame.c:591:26 (
> 5ab42bb1a6f4b068d7863dabe9b2bacc+0xe749a1)
>
> Signed-off-by: Wan-Teh Chang <wtc at google.com>
> ---
>  libavcodec/pthread_frame.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)


I think this looks OK, thanks. I'll leave it out for a day or so for others
to review before I merge.

Ronald


More information about the ffmpeg-devel mailing list