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 0AC0F4B49D for ; Thu, 6 Jun 2024 15:21:22 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9469268D5CB; Thu, 6 Jun 2024 18:21:19 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2018.outbound.protection.outlook.com [40.92.91.18]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C624868D5CB for ; Thu, 6 Jun 2024 18:21:12 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NmzyfrkIIqUYFMSEhULCbcOICBlEdosykWxpc3j/2qtRPMPvEva/H4djh9im3MK9YtmaVikTEko3YI/4EXr+cJpEwSEpdVqlAG/z3M+kB4CBYDE5IB9/ZSwR5+zcsA5RTnw5YQgBrjQQERMQrBISZ/8CscLWtR5AHQSQzrdm68mYUpA9gh/eXve8pa4t4vr2me3iDJjCiRPJYkoZtevSHtufooaDtjyfmFe/Sv4RC379fq+JdRcMtD1mAS/J9DZOH+LqEDcChkEVnrJlIVbLdHX+l3+pPZuThffPitTTvvkHSKbHyNSFfVKOkSUIfCNyY475TfVt5bUjbGF4kO6RZA== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+Kc43j4MSImyYsg9kVSmwMH1ESy4b4OrQiKUzKZl/DU=; b=SWlJAqt4N8rcphEE1YsUpuepmnuais1cYzAJdUgO81bJuNRlmWU5G4C4vDmggEcAg5mqKgVoFyyEO4RvVxz43ob2ntYgfDTNmHMBIk4rLRZqVObYvfcd1nt6yAbgU/GzcZJpwUKOP3O03sIibpcLu3/cBXkKaTVmwy7HdgmsaWfRBrRRsL5ZBFTMFHyMGYl+W7HURUPsiusYmWqab2FilzjuMFgxbzEp6A8y5Mr0HjUhv3DudY92yvff+ulFzRekRuXArLOOtxOfVfjIzvmjLie44mVdWZrtYV1NqPyg5g+trMpbA9dXK9Picr8AzCxBCF2wdFOUjISXQ1vMm+hLNg== 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=+Kc43j4MSImyYsg9kVSmwMH1ESy4b4OrQiKUzKZl/DU=; b=hPJ4GR6cuW+5lEY4wegz98vsAbXN9Xoglt5xkUKg04Zy6xLoT+GWRgI7Yre/vNOLCQBzs8GEpDgLKoqEffsDA5gle4h3RUfBbZaANX0jV7cPUrcAJvdWEwmIZsuwUcMjs2oax32a+FzCu0nL8AOepgDe246qHolL1bI4iALn/MrORdsBFT/tAvisM+XncbPQzCsIgf3CuqzQyOwS/RcwIyPAp27t8goMfRcGvCNNb1nblN68wtOMc0414na7/OuQ7nNyMfgWaMRLVm/XMg2aPm/puBlZ89zSvDnYtvyhO7O7fsor+aXBS3kyznRkz1CkTFrk+XEPh/Pr27S5nEeeMQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0237.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:276::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.30; Thu, 6 Jun 2024 15:21:10 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7633.021; Thu, 6 Jun 2024 15:21:01 +0000 Message-ID: Date: Thu, 6 Jun 2024 17:21:00 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240605131808.282394-1-ffmpeg-devel@pileofstuff.org> <20240605231748.GM2821752@pb2> <20240606142411.GO2821752@pb2> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [fKplsvkljwVnff5MF/TVF0d6qSFQDm71OqcaJqzOoR0=] X-ClientProxiedBy: FR4P281CA0026.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c9::11) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0237:EE_ X-MS-Office365-Filtering-Correlation-Id: 9576e6a9-c9f8-48d8-08fe-08dc863c4628 X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|3412199016|440099019; X-Microsoft-Antispam-Message-Info: diBfLEIQCU7L4K1TF6fEpFJSYeaEHRiqloQR5oD5UaZLxRvZg+VyI6daGzu2nbRMnRKqV1BpJKI+vuWKjAos+nq3oIrBcBnl3+JQQFRtDjSRRWLHmEnKlsYzGPhBfTQJhx8ZuKU9ICyrbflFBpnF+1cNpHmK+z/86PCtQQ4cEaYeXUsfQEwVaifDvov8BXTG7r+wm7wkO4EL/Hm0f54fLClVtQ6PejZqi/xlx4bB/btCr3+S0rQvQerXuc207OY41QJZH3BakAVGD+BWlX6edPvai7zbketL/Fv+0Of0mVcU8gsXX7mDjzO4W51uQ/96NlBhSXxMy8qRBFb5QFkKJiz1vp9amGZPOHoMKQ9VKgSOKSywTrqXESYXRTw0kTu2/lg3oclHfyrecQ/NaxyrPBbZYP3S+/I/7uMGhFs0XqHp/hHVUBLnBERoFvKL+Jx1BdoLS96banx4ylZWjAwjLomkjkpv44goM2v8OKDm0xSd2RrFEYgyHasJwnpLDsdV/LiKp4KP+bPj4rS2WtXHqgh+2FzeMduqfJpbTZdWPduGm/+oRqWmsMZ/ec9c1OuO X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QVZIdnBQTDdHRVRNSDlzQ1FWVDRwSVRPQzhLelVBNlZuUlpEZlF6NXFPVUtt?= =?utf-8?B?TlA3TmUyRWpWNEUvd1V1YnNnZHl5c1kyRDh2TGlpeGJaMXR1aUt6ZlJsY0Jr?= =?utf-8?B?TmJCbEpQb1N5azUwYjFhTjdSbVp1dHY5VHBEN3RVbXN5MUlEZ3psNmF4TUdP?= =?utf-8?B?QnNMdU4xTmpIcGhjUTl6SWFBcXd6dm1IK1JKTDN2QlJLclNhR3daZWZGWWxo?= =?utf-8?B?Vk95S1d0YldKQVhscWYzaCtLdTZxekRYRnp5S25DZGhFdDVxNHN2NFl1K0l0?= =?utf-8?B?ck1OdS9xMEwxZFdVY1lreFJzMEJhRzlZMTgyRSt1ZFg3eHluN01CamhtOWNr?= =?utf-8?B?di9QOThzZVFIc0JDNDFwdnFTN0oxeStIRy9NZDRpYVBZbmdaV2RtZWk5THM3?= =?utf-8?B?YzQ1cDN3NU1neHFSdC9tOXBwc09vazh4QnFVdVZINjY2RDgrQXpTOHBlM2F4?= =?utf-8?B?SXIxQjhKMUpBenN5bjVyUjVVUHFFOXkvYnBDSFhNc01keUhXZllycVVvZlA4?= =?utf-8?B?Y0hEclZOQXIxTUJUQUhpS1dZZzBsN2kvSStoUDlhSVBkcnV6Sis3Nk1xU3Vy?= =?utf-8?B?TlZmcjNNd1l4MGI4SjNzN1lwSEVYWG5pbnNTTTRvaFRSK21RMDZsd3cvaEE3?= =?utf-8?B?ck5XaWVwZzlRSE0yTXJRYk1zcDMwTVFWWkQ0MUsyVUkyLzRJaTZldVgwbndZ?= =?utf-8?B?ZXNreXBxUW9nUXlxNHJHOE1KZnZNSE0yRHQvR05nbGhJbzNXU2tpMlQ2MlEx?= =?utf-8?B?RGV2dXFtcDVIdVp1WDVpQU9TQ2wzeDBxSXpGaTRvSmQxaWlIaHB6bGtYUkpv?= =?utf-8?B?SHVqQTlzZHlFSlhzdTJhdDlaZHM2WUJYZCtrMzloREdPc1p5ZmoxNmVHZzBM?= =?utf-8?B?YmQrYWJjNkxsaG1COEdRYnEvekRvdDBHZGloL05jVVNxWHEraElxZnFxSEZZ?= =?utf-8?B?a29lNjFwS2g3aUZMZVBtOU56SnBkUjNWbDZ0WFE4UE5JcDNad0tXQTRIWTlY?= =?utf-8?B?RDRVVFk1cTJFOUtiV1hoVGFBYm4vV3cwK29WR0wxb3hHMFUvZEZyNEtua2pT?= =?utf-8?B?K2hnVXhBa3UzTnQxSUVWY1FjNXN6b3ZqMXFNemFneTdQd3dPcVllQ2dlWUNV?= =?utf-8?B?ZHNBVlhEQWVwaWltYU5NQzJtenlUck1uWnZSbWt4R3VORVgwbHVzQXNlQy9L?= =?utf-8?B?UjJJSkJjUUVXWlhIMytCMndQVkNsV0Rjbm5CRlVlN2dVS3hsUGpCYmZwU2Q5?= =?utf-8?B?VUk3TUNJZzVZNXdQVVZWL3krejB6VGJ6WHk5dTh1Z3JhYzRxT3lnSGloWEt0?= =?utf-8?B?Wms1VloxSjg4em1IZ1k0NkxiMmZRMDhUZGMwT0I1VmdjWGhuSHV5ZmhFOHFw?= =?utf-8?B?ak1MN0xOKzRxakVHcnpnWHU1KzhpUHlBMW55YVQxNUR2OCtYM3ZyVjJXLzEy?= =?utf-8?B?ZGVHYkVNbnlpMndOKzR6MWUzKzVRR1VkN3NWRkZiQ3ZhNjRocXpCL1RrOWN1?= =?utf-8?B?cmJFMjg5WERtTHBTNWhuK1krZDZiMmk4Mkd0NlJ1S1lQNzlBZVIwZ1d1YmdN?= =?utf-8?B?dXpwQ0REVnFNZXBSM2llTU5LMGZDZkRCOU8zYUpjRUV5N0ZvYWhGMTBsVTcz?= =?utf-8?B?WUhoNkdrcHdVT3Y3bGFyRnJPZkZORkNMQk5PLzRTUmtMQkh4QlJLKzhwOUZx?= =?utf-8?B?Z0Erd0IrZnh1dWNNMlBUemFQb0ZDT2FQQXhUNTliakMvNXNuYnZXL253PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9576e6a9-c9f8-48d8-08fe-08dc863c4628 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2024 15:21:01.4636 (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: DU2P250MB0237 Subject: Re: [FFmpeg-devel] [PATCH] lavu/opt: Mention that AVOptions is not reentrant 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 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: Andrew Sayers: > On Thu, Jun 06, 2024 at 04:24:11PM +0200, Michael Niedermayer wrote: >> On Thu, Jun 06, 2024 at 09:29:24AM +0100, Andrew Sayers wrote: >>> On Thu, Jun 06, 2024 at 01:17:48AM +0200, Michael Niedermayer wrote: >>> [...] >>>> AVOption simply provides light weight access to the struct fields. >>>> Calling AVOption non re-entrant in modifying a field you arent even allowed >>>> to modify from 2 threads is confusing >>> >>> I think you're saying there's already a rule about modifying AVOptions from >>> 2 threads. Could you explain that in more detail? >> >> Well, one way this can be argued is this: >> Latest C draft: (but i doubt this is different) ISO/IEC 9899:2017 C17 ballot N2176 >> >> "Two expression evaluations conflict if one of them modifies a memory location and the other one >> reads or modifies the same memory location" >> >> so if you have 2 threads and one writes into a int and another reads it at the >> same time, the code is broken. >> The code doing said act through some API doesnt become less broken >> >> Calling AVOption non re-rentrant because of that is false thats as if one executed >> strtok_r(a,b,c) with the VERY same a,b,c from 2 threads and then said >> its not thread safe >> >> strtok_r() is thread safe and reentrant if its used correctly, so is AVOption > [...] > > Ok, how about if the patch avoided the word "reentrant" and just said: > > + * Note: AVOptions values should not be modified after a struct is initialized. This is wrong either. As Paul has already pointed out to you, some options are allowed to be modified lateron. - Andreas _______________________________________________ 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".