> On Jul 1, 2024, at 21:14, Nuo Mi <nuomi2...@gmail.com> wrote: > > On Sun, Jun 30, 2024 at 6:45 PM Zhao Zhili <quinkbl...@foxmail.com> wrote: > >> From: Zhao Zhili <zhiliz...@tencent.com> >> >> --- >> The code can be simplified by always creating mutex/cond. I'm not sure >> it worth the overhead. Please note !HAVE_THREADS don't have the same >> problem since it has mock implementation of ff_mutex_lock/unlock. >> > Hi Zhili, > Thank you for the patch. > Do we really need this? The lock/unlock/signal functions will return an > error if the lock and condition variables are not initialized.
We have strict check in libavutil/thread.h, e.g., static inline int strict_pthread_mutex_lock(pthread_mutex_t *mutex) { ASSERT_PTHREAD(pthread_mutex_lock, mutex); } The strict check is enabled when configure --assert-level=2. > >> >> libavutil/executor.c | 9 ++++++--- >> 1 file changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/libavutil/executor.c b/libavutil/executor.c >> index fb20104b58..89058fab2f 100644 >> --- a/libavutil/executor.c >> +++ b/libavutil/executor.c >> @@ -194,14 +194,17 @@ void av_executor_execute(AVExecutor *e, AVTask *t) >> AVTaskCallbacks *cb = &e->cb; >> AVTask **prev; >> >> - ff_mutex_lock(&e->lock); >> + if (e->thread_count) >> + ff_mutex_lock(&e->lock); >> if (t) { >> for (prev = &e->tasks; *prev && cb->priority_higher(*prev, t); >> prev = &(*prev)->next) >> /* nothing */; >> add_task(prev, t); >> } >> - ff_cond_signal(&e->cond); >> - ff_mutex_unlock(&e->lock); >> + if (e->thread_count) { >> + ff_cond_signal(&e->cond); >> + ff_mutex_unlock(&e->lock); >> + } >> >> if (!e->thread_count || !HAVE_THREADS) { >> // We are running in a single-threaded environment, so we must >> handle all tasks ourselves >> -- >> 2.42.0 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". >> > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".