From patchwork Sun Sep 26 09:46:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 30588 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp3146194iob; Sun, 26 Sep 2021 02:46:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx8eWvfcd0avVWaFxc6mWLZgremHUFh7VY+rrrOiLF1aLULBbCzjJi76bJ5fcrmKiVoStI5 X-Received: by 2002:a17:906:8981:: with SMTP id gg1mr21760959ejc.95.1632649611925; Sun, 26 Sep 2021 02:46:51 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q12si14715838edh.51.2021.09.26.02.46.51; Sun, 26 Sep 2021 02:46:51 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=OwHNr9J+; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1B47268A919; Sun, 26 Sep 2021 12:46:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-oln040092069103.outbound.protection.outlook.com [40.92.69.103]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A459568A3AE for ; Sun, 26 Sep 2021 12:46:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hFntyqkzulJWu2BABnCwjt0DOeXZ871pKX1kBIereLlmVidSvh3oKcXEg5m0eeFPbmYWz0PCbD4p2uJhthylaShny6jc40XyC7xtWi4pz1YEcTufk53fXAWn/7J4fwAH47ok7jhpSMpaLFVI7KchSfeaJrRCnMOpLNgH/W6D6ME+xcBTcIVwqe7/ipkM2Xp4bswXPMnVfsSfZuoEO9d21iv1/EWQaxJwNYWybXn+utN+mFsUGGE5tVIbT1SH8wRn1SxXriuLHFLMQ7atXpkZCpH5k4wEbzrYGjC5Uv1Jnd/BTsGV+RNbieOTOg7Zq87U/0CpVsHiOKzsdFcL/h2FGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=E5Wh85wSKNbqDsEGN2w1GA1Bc86EWx/liRN6UjSgsBk=; b=AByp647V/E9r3QUJPJ+JnvPayTHcN4tn8OUSaABcRZa4mW2yHNFPAxg/jqKbGZeEhWel8UOFzCgacqvu6vDaTFt8ESyAMnNY415BwgeT+Xs2rreusVSJWLEwWJtqSu/pntx9/qcH8hN1wCjDQxoJTuouGrUNdaVq/a72pFGgsMIR7XZC4YSK1OxYfDkrqcBaiuUZs6f6HGZriWf5cdhaNF2OkEDtT0g8Z8aZkKXAJ1VXMdNXXwom56/+/c9r99GXcIgouXu4TlL9oJxl6R7sAqBA/F2s39dCPBzHVVzg16FW+/zQdsMVtvBi3vdgiCdzU22Go9AIqAkOQpYQmOvPEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E5Wh85wSKNbqDsEGN2w1GA1Bc86EWx/liRN6UjSgsBk=; b=OwHNr9J+LkwkMLt/pRl3U5uQrBj9cjWEaYM6+aB/MTHQTfD8Mo2d7mfPBdr3yJpwQ4+KVCc+kG7SdmGvmFDUWkMbK9hAP/DMdWQagbo7HcuNxtgo6PoD7p93LMRqnuA907yZCkxJxhWnd1/wVfIdQESyYTDVVYDfOBu1Dt1mOFKdipFzqJuATEWhxuoVZOX/8v1bY5pUeCRZf4FlEbMZyFZhFgdBunxZWOigSyCY4L1D6u81fBhmU3eX3gQX3ZtWujOnZjAXXO89kyRqx3LOOCy0/QiKG7oqwztO8bph9uftCoJlOx+FnZ7FYAYic7sThnUf9afFyJ3xi1a/G+7dag== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB7063.eurprd03.prod.outlook.com (2603:10a6:20b:293::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13; Sun, 26 Sep 2021 09:46:38 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00%3]) with mapi id 15.20.4544.021; Sun, 26 Sep 2021 09:46:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 26 Sep 2021 11:46:29 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 X-TMN: [w3K7ozt9IqBvUcn/Hl6suH+pIAn7WWnh] X-ClientProxiedBy: AM8P191CA0009.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::14) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210926094629.421145-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM8P191CA0009.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15 via Frontend Transport; Sun, 26 Sep 2021 09:46:38 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6c1ac10b-e90a-4e22-f4fb-08d980d28927 X-MS-Exchange-SLBlob-MailProps: f36zkjAOy3U/DR4NyBZ4rqa2NklQwVm3YgB1p61UhTgRvJCLURDJDQWPEU0sGUwEchsHVyV6XR9twggYafpwS7Up2uel04GCOxyOsYdHBbg0zP2fXvFY26/hv/KPFW4Ds1+QMri+7pMSnyyAmzEWEZwhryKMpWZcOhA0YI/XZXPHmaIyQsKdxRSvxVpMQhyyGmgO7JP/LGPKzlSPWajOloSUj2RZEKMToDR/NiYh1pWBhT04AnTm9xxJVh9z6vAp/RSRDyChzNzEaojX3BP+NeAoHI4/bKZn+iS9jEMKQdSjC2S4rT7x9GpB7QOmxGX0U8gr5XTgpPfRfjvGpZf0P8CHcuTUL95NZPlpCVMi1G5KH4L2caxsmorTvk280PiFWfv8HXHn/jNf423+LTaBcyX8FAcMIwUPRm1nzlu5ajkd34FSVNI6yx7T/t99QG0lWU4YouqqkWrazOQhxXtzek0WqDGYwvkzjjx9/9fA0uKdb7LJH+WkwV6BR/d+KPtPZdoXfXn484bg9UrWWUNBcQvuP/EIhLhjqXANda6YibnujXV4T/S4nk2XMMO5rd2qrH5y2KEoH6+cphTf9p/UNrBK6pZtxOaWI4iF27Oc3Xh63B9TMAbUN6AQLREEulmzmTzr5FphLNeyDVEfHyNe4Ol8NIibdHNvx+ElkQ3uPeu0y1I+O4AHSX2PTh0KEteARoHpuxwib0UrSx3RYIgP3wtVKxGOqocoK67OtaYNRVM= X-MS-TrafficTypeDiagnostic: AS8PR03MB7063: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ink7Kj+XU/PCJIa30qe3XyaA++AXot24F+YruhaLqGVhKy5NORlT+auTDcsyy3ja0y+Q97/oCL55uEqsWYDHeT6xzYm2NkZSyPOD+hwHIvGbN1cUmwK47rA3V5cNmtWGMpv2bbbkMA7OtOAXIHvE/6WposstVVZ0eBSDzk+n9tTjJLwtAJRjGpudMK40fl9AC9so0ZR9lHX4GHMBdQXlYYDvnoVp+8AdboVx68abZhtCVBNceOED/GaqdV7ZkqSMgh92OCy7S4fGexYsyn/KL6yBL8KtHq6YQKmnkWJt+d9ePoSfBY/xC/RxtZDoS7LA85lAn3ETNmvTaLo8dzmLJnBFgdkrovTjZD+TBGLApP6/Ncelee9TzEbiZJKWOtZE8xCeh6Sis5sk7HQ89jqvia9JSatwvUpadCqEP4380A2NW+zt0gBCvaRbB0bzYp89 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gSmYjyO3q8epwm47RLB5CiiCCkS8PebYc80h71CY/moZ5vlzi9L6X/+sS0g0TTSvmKnrLveW5FPStgWND/ZT3AF4287rYbGru5TwBGZYnATeKqjSGcTgC/no9glDQwN5mQmL54MGj6MPs5qj9/00Vw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c1ac10b-e90a-4e22-f4fb-08d980d28927 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2021 09:46:38.8214 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7063 Subject: [FFmpeg-devel] [PATCH] avutil/utils: Remove racy check from avutil_version() 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8c7DF1xE2pC+ avutil_version() currently performs several checks before just returning the version. There is a static int that aims to ensure that these tests are run only once. The reason is that there used to be a slightly expensive check, but it has been removed in 92e3a6fdac73f7e1d69d69717219a7538877d7a0. Today running only once is unnecessary and can be counterproductive: GCC 10 optimizes all the actual checks away, but the checks_done variable and the code setting it has been kept. Given that this check is inherently racy (it uses non-atomic variables), it is best to just remove it. Signed-off-by: Andreas Rheinhardt --- A part of me just wants to nuke all those checks. (We have zero callers of avutil_version() in the codebase and I don't see a reason why external users should call it more often, so all those checks probably don't fulfill their aim.) libavutil/utils.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/libavutil/utils.c b/libavutil/utils.c index c1cd452eee..ea9b5097b8 100644 --- a/libavutil/utils.c +++ b/libavutil/utils.c @@ -37,10 +37,6 @@ const char *av_version_info(void) unsigned avutil_version(void) { - static int checks_done; - if (checks_done) - return LIBAVUTIL_VERSION_INT; - av_assert0(AV_SAMPLE_FMT_DBLP == 9); av_assert0(AVMEDIA_TYPE_ATTACHMENT == 4); av_assert0(AV_PICTURE_TYPE_BI == 7); @@ -58,7 +54,6 @@ unsigned avutil_version(void) av_log(NULL, AV_LOG_ERROR, "Libavutil has been linked to a broken llrint()\n"); } - checks_done = 1; return LIBAVUTIL_VERSION_INT; }