On Fri, Dec 08, 2017 at 09:49:25AM +0100, Hendrik Leppkes wrote: > On Fri, Dec 8, 2017 at 6:09 AM, Rostislav Pehlivanov > <atomnu...@gmail.com> wrote: > > Its already done by lockmgr. > > > > Signed-off-by: Rostislav Pehlivanov <atomnu...@gmail.com> > > --- > > libavcodec/utils.c | 6 ------ > > 1 file changed, 6 deletions(-) > > > > diff --git a/libavcodec/utils.c b/libavcodec/utils.c > > index baf09119fe..796d24dcbb 100644 > > --- a/libavcodec/utils.c > > +++ b/libavcodec/utils.c > > @@ -115,7 +115,6 @@ static int (*lockmgr_cb)(void **mutex, enum AVLockOp > > op) = NULL; > > #endif > > > > > > -static atomic_bool ff_avcodec_locked; > > static atomic_int entangled_thread_counter = ATOMIC_VAR_INIT(0); > > static void *codec_mutex; > > static void *avformat_mutex; > > @@ -1943,7 +1942,6 @@ int av_lockmgr_register(int (*cb)(void **mutex, enum > > AVLockOp op)) > > > > int ff_lock_avcodec(AVCodecContext *log_ctx, const AVCodec *codec) > > { > > - _Bool exp = 0; > > if (codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE || > > !codec->init) > > return 0; > > > > @@ -1959,21 +1957,17 @@ int ff_lock_avcodec(AVCodecContext *log_ctx, const > > AVCodec *codec) > > atomic_load(&entangled_thread_counter)); > > if (!lockmgr_cb) > > av_log(log_ctx, AV_LOG_ERROR, "No lock manager is set, please > > see av_lockmgr_register()\n"); > > - atomic_store(&ff_avcodec_locked, 1); > > ff_unlock_avcodec(codec); > > return AVERROR(EINVAL); > > } > > - av_assert0(atomic_compare_exchange_strong(&ff_avcodec_locked, &exp, > > 1)); > > return 0; > > } > > > > int ff_unlock_avcodec(const AVCodec *codec) > > { > > - _Bool exp = 1; > > if (codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE || > > !codec->init) > > return 0; > > > > - av_assert0(atomic_compare_exchange_strong(&ff_avcodec_locked, &exp, > > 0)); > > atomic_fetch_add(&entangled_thread_counter, -1); > > if (lockmgr_cb) { > > if ((*lockmgr_cb)(&codec_mutex, AV_LOCK_RELEASE)) > > -- > > 2.15.1.424.g9478a66081 > > > > These variables never performed any locking, they only existed as a > sanity check that lock/unlock is always called in pairs. If that is > really required is up for discussion.
They shuld be usefull to detect some bugs related to locking [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The misfortune of the wise is better than the prosperity of the fool. -- Epicurus
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel