From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam07on2128.outbound.protection.outlook.com [40.107.95.128]) by sourceware.org (Postfix) with ESMTPS id C093D3858D39 for ; Mon, 20 Dec 2021 23:48:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C093D3858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cornell.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cornell.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=efZFcsoZEccpoOS2mbPmJIWOgDt5IigEDpzyavzdzHq5lzEH/ntJ6LG3C6KKqV1lrOkv89Du90otFboKNpVsPM0Y+9JAvW/712RLxi7IXcYX1W9gRqfZ8yM12AbkJApkW8v05ewf5ZJ25+oiToC/kiWuCDRza5QYUnmI/bI2Q7c03Y2M2lovUwCoyqizoxl8zmNLa/ReX2SfUmcQBpAVUNwfOHgg1G5pM0pdL55ycJ19+poYtg5E5xxbkegZsblvZohpC0fH4K85hFaa5YotF1x8t5BkwwLYyiexmhN/3eEM9PJHohpEjNuYwZ6D/Cfkgovy6DRVsMmoLsm604F45Q== 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=SHBpz1jpHA7z1u6p/0duJ2IFp9GqP96WaO+XnqAW1hg=; b=XXNjKnwA9iCqdXCmyFuSohoFVOuYkWcgHPI+uZZXs5RXf4K1AF9OA+aCDmvFcKRXpQyYucVB2DtF+Hn8zfIamKjqO4nulu6o+E7EA2H21inQt3Gq26y4YMOKEGjEAgG6uQ2vlF7pPhsTSK232f8vu4/O0pMAH14MirFbHMq/GmFQM/5k5z3fGll2jYRv2EdV61stvTctAMsYsWfDiVpbgn2oA5uv6HgfAxwalj4dtGGpJpGePegVkXskczYjcBYfbO7D6BqWF5hBGtu5rjicNGv0z+8LCtsV4A2P4i0OPBAIZoEzci9B3NbIXXOPGmMD8ljZ4TsrvBBiqjiZaen3aA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cornell.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SHBpz1jpHA7z1u6p/0duJ2IFp9GqP96WaO+XnqAW1hg=; b=giO2cIThxGa62tzLUqqlOmacjckJMFKaHohZlau4RNGtMKvwUctbalzdMfF2J3sE5kLWRmEBjo+vN6djNMvdlnoE6nK0jgo3V+67WFvRn7iD2a20F7m28MwvNh+egvMmnGmq/bn/qSWaQxdNQMRRKtug7FwXVCCmoRZmE3WfPnw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cornell.edu; Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by BN6PR04MB0709.namprd04.prod.outlook.com (2603:10b6:404:d4::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.16; Mon, 20 Dec 2021 23:48:45 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::88c4:79c5:1eb1:b969]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::88c4:79c5:1eb1:b969%7]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 23:48:45 +0000 Message-ID: Date: Mon, 20 Dec 2021 18:48:42 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: thread safety of fhandler_base_overlapped Content-Language: en-US To: cygwin-developers@cygwin.com References: From: Ken Brown In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MN2PR06CA0023.namprd06.prod.outlook.com (2603:10b6:208:23d::28) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a100d946-2764-4bd4-259d-08d9c41342d3 X-MS-TrafficTypeDiagnostic: BN6PR04MB0709:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KZAgKYa5aaPZC6Ex677KCcdJoOt238xXAvJwldOF36riMLyk0bVjnnArzdnt/9Mush3hv1KU0CVGqvu/yOcgwepfMUQ6dV0vdZRP9GnUYBEog1jy/kAC4goncDX5IKK1y0cZfZbw+3M8acIVprqZTV5Ys4WK+4kKqBMFgbzQmrIFJhFT03gD8ZtJY2nFVD1vTHOuddIRVLmAHqZsS1zwWrPVTkv9el8RUtuLWYW/KJbldRpgaID5caDUPUXhfCSdg3fFzQ8Z1Jtp7lxht6ni9owntvGYnJcFnQmsZEmsqCXmJX8mnla1CBnNKemMQ6COGCuSERwxp+xkz+CRYS7wfnXhaWHIacwl5Y1aC9gj01KgdYCSofLku7A1JNWr8G8G9c32OOnXR4hdSXHNEgs07xMiIYv9JdtQWtESG1Y4cKg4cFWlv5j4G2jCTIQ/Xays/ZCfTrmxyp+2vkANduHtckbg4E8T+POacahNvYTwyiiDGnZvwvVnZ2z24JToV/EJ2awFzpFbSO4ZsQ3rG1R26zLknauLtzw4xkLzvAZDKaMX4cZbTwQr3ojkof4L+kOqHMES8SvDue8r52EFhWeRJfmxfy+A1R4LVx2x8Cmb3nH/9CG7MHjPwOkxQfF3WV2G7jiocsb8IcUPgLH4aIHsNRId5fMyrmkqOJEdgAP2mSqeHemrLhSR2P0/HUm5/3MRkAGV2TvFE25V69YUmYjiOMhB1A+Nt93feSdhfgn1HAuxwlyOrqAnAKlVTCGIA0of X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR04MB4388.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(186003)(75432002)(786003)(6666004)(2906002)(6512007)(316002)(83380400001)(6916009)(31686004)(66556008)(38100700002)(6486002)(8676002)(2616005)(31696002)(66946007)(86362001)(6506007)(508600001)(66476007)(53546011)(5660300002)(36756003)(8936002)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MmVTSVRFNjZCaGZkMkY5NkVUTU5QemlXdE1scGJWb0lsM3VXUmkrdmRsTzhW?= =?utf-8?B?V1dxbzZQbm94bnBmbjNJZkpjd2VTSnhxd2hvWUFPd3A4L2NpS0p3aXAzRlp4?= =?utf-8?B?T1lVT3VGWTJMRnVUZ0VJUS90ejN6RE8ybDNUam5FL0laV3FlVThPVzN4bXZj?= =?utf-8?B?MGUweWg4eDBqYTJEUlBxQTVSVXVoUU9FUG5xcHhnVTNmMnVtK1BNN0dzQ0lD?= =?utf-8?B?VC9FM3IzbkQvamFpWXNwbGUyMXVmNzNuYUFaT2JMZ3lMR0l5NXo4MDVPblBm?= =?utf-8?B?YWM4MzExSmdkWDNJemhiSHBwNFNNSWFwRVJqZ1IwMzFQYTZkNVF3ZlhWdWxx?= =?utf-8?B?YitTK2JIQUtKaWc4MTVSbGJ6TTNqZysreCttT0VKaXp3eXcvRE5oNDVncjBw?= =?utf-8?B?S0I2a25uTkliMkx2dkF5QVhpSHUyVmd6eERVM3p6dmZFMlVTN0RHQTFhaGdK?= =?utf-8?B?U080N3czbktvV01KTUdDQ3A1ZDV6N0NxMkVEU2RtS3Q0YW9RNGdna05zVk1R?= =?utf-8?B?NzhZRzRGSXRrMWorUlBxeWZxaUVhVzZVQ1Q0QTZmRmFjbjF4TlhSOVBvS0pm?= =?utf-8?B?eUdBQysyd04zdEFaTy9tTGlrTmtEMXRVZ2k0ME1zdFJDQ3F2MCtNWjVKdTVZ?= =?utf-8?B?VWFFS0h3SEVtZVVqS0F5L28venBoQnQvN0Z4NFVqUmpuOE40bExtTlNQVDlM?= =?utf-8?B?MVdDUHRtazVuWTE3TG9QM096c2dqK1FybGR6bjVwdzIwdE5sOVRSN0JFb1M1?= =?utf-8?B?eUdiMU1HNnZta2RMVStPQy9rRTB4ZnYySzlYaHVGWjRTMGhIcjc0ak91MnA3?= =?utf-8?B?V1NYZTdhQVlCYmF5YVlmeWNiYlcyZGpqVkg2a3RSMGxKaUl5d2NZV3ZoejVI?= =?utf-8?B?QTE1ZThYWFhRaHNMSWdZd0ZqbjNYQ29ucjZDODBEeEpXNm1Sek5KSHJUWm5z?= =?utf-8?B?ODdERkFYby9SeU5SMlFlbVk2MVFTaHFQNlRHaXVUU3B0SXdYa2liRGVKTVBE?= =?utf-8?B?MW5vdmFZM01ndno3MUZJRWI0R1o0L0NzMnY4dEVZcWNJWU5TdHBQbmdaTVBj?= =?utf-8?B?L2NJL2FudjFaNFVnWDJLeC92SkhXTWxpclYvMW1XKy9icS9Kb3BQRGpZcEgv?= =?utf-8?B?MUVCZFhkVHRiZlRBbjNTVU5IUnBHcDN5MjFPellsRXErbGlQcjFnSWMzeGd2?= =?utf-8?B?bHc0bmI5cldQQ2ZjcUE5RDlEWXFoSVh0QjZKdzk5VTBsUHJZaUg0VU9rM0Zq?= =?utf-8?B?ejUwc2hwWnZIZjl1eTdVY1M3b3l3R1RhekF2eWFTRFdsK2ZLRzVQQWRaRWVL?= =?utf-8?B?RDhmbXN6RjRDdm8wcElKU2VhTXlpTEg4SXFwRUsyeUpCdkdmaXNBVkRZNGxX?= =?utf-8?B?VW5sM2dRV0xQK1hwTjlZUk5FUmJnaFNpaFdqVHlSV3JtaG5LTUhZWkJzWWRF?= =?utf-8?B?dzkwUFozNlhDNGtHRk1LM1VDMkVCeGsvTkJTWWx4eGo4S3gyaSs0Q2pHV2Zu?= =?utf-8?B?aVJhYmtjMlZGeUNhL1JoMUpqYlhWVnlSVDdnTldxd2JrcTZGbmx3TUpOMXlx?= =?utf-8?B?Rk9EREdHbFZHUVBEUVFtVm15U2FsSmZMc3hpTlE3T0s1bDNNUWZIbWlLaWZq?= =?utf-8?B?akpXT3pTbnAzdlBMbVY4WFhjSXJhcVlCbHV1eUlIakxuaHJheUhCdGFkY29Z?= =?utf-8?B?OGtNTlBuNkFrVm1FUGlkQ1djbGFOTlZRU2wvNXoyRlFSUkdnb2JCSTJRNHhu?= =?utf-8?B?RjdLaFZHWmtCakhFWVgyL0ZBNGlMUmdrRHJjbUlkUmN4TTYrYkhENnhnNjc2?= =?utf-8?B?RkIyZnVFWGhQWkVibEE0VWkzZ2VNa0IycWRsanhzYlBqMUN3Ymk0cG1DdGt4?= =?utf-8?B?b2I2SlRiQjJTT2xseXpmRzBzTjJ5NGJqcmp0TXBFdDNSeFFaYW11cE5wUTBv?= =?utf-8?B?WmpDK1BnUEx6TFo5ZTlvbk1PRHRPZytvZ3p0MlN2RVk0TUdSUGZSc2JQV0x5?= =?utf-8?B?V3FXWi94OXNyNVNMT0swRi90SFlCU09CVU56YzBzTndmcUNjR25lc1ZOUjBG?= =?utf-8?B?cndpWW82LzUrOUxOSitGVncwanlSc25NQVVBR0xObEdkdWIvVmdBZHdaRmJR?= =?utf-8?B?QmMvNTJiTGRUQmpNNmU3LzZVbjJiSTNkbk5CZFdybXdIaEJuK2FZSlZJSU1l?= =?utf-8?B?NFozdUpEV0tzUTFuNENLNWZFaHpHUnVSWWd2RkJ4ZFZiVEJDdmx2UzV6QW1l?= =?utf-8?Q?nSBTuYkGX3j1VQK+gUcWRcB+BQNYtEqJCzQsb0WTYU=3D?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: a100d946-2764-4bd4-259d-08d9c41342d3 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2021 23:48:45.5771 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4YxX50DxX2M1kUM+8VIgl3XNzUUnaEs3sCmgkqZX9ZFBaQbb1A2ww/a9vC85v0XWlB5bEp7pK8x5F7A4uE1LGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB0709 X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, JMQ_SPF_NEUTRAL, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Dec 2021 23:48:50 -0000 On 12/20/2021 6:02 PM, David McFarland wrote: > I'm seeing a problem where occasionally write() returns EAGAIN on a > blocking pipe. I believe this happens when multiple threads are writing > concurrently to the pipe, and the overlapped structure is modified by > one thread while another one is between calls to WFMO and > GetOverlappedResult. > > I found this change: > > ===== > commit 2a4b1de773e6159ea8197b6fc3f7e4845479b476 > Author: Corinna Vinschen > Date: Mon Mar 23 21:06:00 2020 +0100 > > Cygwin: serial: use per call OVERLAPPED structs > > Sharing the OVERLAPPED struct and event object in there between > read and select calls in the fhandler might have been a nice > optimization way back when, but it is a dangerous, not thread-safe > approach. Fix this by creating per-fhandler, per-call OVERLAPPED > structs and event objects on demand. > > Signed-off-by: Corinna Vinschen > ===== > > which seems to fix a similar problem in fhandler_serial. > > Is is possible that this needs to be done for fhandler_base_overlapped > as well? I'll try using per-call buffers to see if it fixes my problem. fhandler_base_overlapped was removed in commit f002d02b17. Are you looking at an old version of the sources? Ken