From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 30FB04A457 for ; Sun, 30 Jun 2024 10:45:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4558568D657; Sun, 30 Jun 2024 13:45:21 +0300 (EEST) Received: from out203-205-251-84.mail.qq.com (unknown [203.205.251.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6763068C07E for ; Sun, 30 Jun 2024 13:45:13 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1719744302; bh=XLvBvaMzkdGikRNZFxDx9O0blZSNxs4MSNKIo+AlHSk=; h=From:To:Cc:Subject:Date; b=YdjPoOPGmhq8y32YQVqYkZQHneYt+uRqez5mKlrJsb2yKQUNPNacM9DduahXkao1o 3CpqsBLodxxGlYH5uvC7gztdXeFFRaiEsgBdkBaW7Q9Yy5vlvplslAi+vQ9Irq64wL awzPJzy2dLF/0/Fvs5H1YQRhYVgqdZ1XQU4RinjY= Received: from ZHILIZHAO-MB1.tencent.com ([121.34.202.77]) by newxmesmtplogicsvrszb16-1.qq.com (NewEsmtp) with SMTP id B411BE28; Sun, 30 Jun 2024 18:45:01 +0800 X-QQ-mid: xmsmtpt1719744301tswmruh0w Message-ID: X-QQ-XMAILINFO: MAiknbc9razuBGUAnycJnCYtV9xA496AV7SqeQxGMHX7g/h88e14e38NaAqnmH VZ6TtEeJasZTAAGkheyOX8NVOMVbtpIswohOWGnnOY7uGf93MpgY+IFi9K9T5znlcLzrnrxyYi5P UnAICc1m+jZlR08EiSaknmdhAQwL8tKPhMoHPV4F37ucd7wbbGvMoY3r04x3VBGjPcX9ssdbzdix 2NiJL66FzGV/039IdUWyVFy3vsNbhSkr+hStsgZD3/p0C/zBpOGoCLFVrYWi1DfoDP+ugoYHkGDz dhrjN7dIm2XNlQ9sTI2sMpcJEGk/VWv72DDwkR57OvSGStKm2IuWR3R+YqNbVgPiGxASzbvKKMtq fWAMzRxGug3noiZnOt1CNXj0Gb3q4dLEmJWtqUAl/DUk1XsRB2Tq020lzDatciWUh7m6zYWt16vx N6Q/NjpICuq8PYrpOYg4TeFRrmgSeF55QLQ++vfCU68tNPbOExGIlwfFXRnawDpJQH1hr9k8xq9I 50k6Oq6IzD5B5NyRZUhtrCc6MYqsduuT4emm1G0Jt0BfL9rz8gj4dgYcHxLSQJNyx9ccLDtBHVOf pYID5IEGNZ3lCnGcIlvDUh5bAkSitJQrdmpKb84NPY9HLlfce+mnYvxyWzX0k24jCR3Ix/K8Dd3h 50lAcbv9gOOmWgVVyqvkyWPzCp3BUh27FtO+55XsFIr0HYJ1C0vfBuYl1jaNHCrHoTk+4OFUVQJe sTU2RzxVL+G2XUPDYJWSgeO4Su8QcbO1gRklaqR6psxkwFK9g8nbSEJOqB+6KH1/pQrxeF2BD4Kp UEoiHU0De0LP3zADkhhUibA2FSrxMMXskjvzIY6RBHAnUCe2c7HEbOeghwS+cC58c6RyHq+Hebp4 4B7BGhLBs/lwKt1yNw0Ovbt/MPfGSxtN7DeZkB3+wNVgKGGVWrotTSLzTocOi+qqUjM5b2km4/z1 +GcJyjacg98gxOb6YJ6FezWgN2ZoSQP3okRbmbj9uy6n4uWaHwdA== X-QQ-XMRINFO: OWPUhxQsoeAVDbp3OJHYyFg= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jun 2024 18:45:00 +0800 X-OQ-MSGID: <20240630104500.17749-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/executor: Fix missing check before using mutex X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Zhao Zhili --- 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. 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-request@ffmpeg.org with subject "unsubscribe".