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

Ronald S. Bultje rsbultje at gmail.com
Wed Jul 12 04:33:51 EEST 2017


Hi,

On Mon, Jul 10, 2017 at 5:51 PM, Ronald S. Bultje <rsbultje at gmail.com>
wrote:

> 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.
>

Pushed.

Ronald


More information about the ffmpeg-devel mailing list