From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2111.outbound.protection.outlook.com [40.107.243.111]) by sourceware.org (Postfix) with ESMTPS id 6811E3858D39 for ; Mon, 15 Nov 2021 13:57:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6811E3858D39 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=BWGJnNmGDCf1IAl2RP0GoGjUPaOvQb+yndrslP3Ssqd8m97C5KOu6AxOPxi4949uXRcGZs5CpbrKCpebHxYNy0EpfWis2xabKyckkNtlM/YKHWTG6U0SyiklBOG4iKbmHXPvjwOGMK9NHd2zZjoIOLV4xwY7wbOo32t+QM8bXh2QaLitmnlBW0ogoTCT2Xq6tLmYpTS/7zdCuXALHK+ddhYKe9a/q4dSswfhqET3uxFnMFalkIuoDTqdE60enzkrR02KjFNl4pGWyVKOtdZW15kvWYUHSppo16fy9Q7OoZAKifqJB4p3znnVLP/CpQYe0yAl+boYTtx2QuMngd6fLA== 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=6kJ1InbQ1R1xU8cTFiCSvfNdthaGYGP0XVYPPo7p7D4=; b=JwYxkqumBAhUqInoat+izMV9A/7XU1FBzMA0+4WuqwKeF/U9iDZt9b6GMdFkDhuAVeJUWc2+UPSSnySw+213YYzHT2J1fk0j6CDPg/uqG+2K5G3aIPoH8dBJwvTrl72tNR2Hl/SCXQpAs1Kn4w1zJqpmI1ghmkfCYLG2B1KCKRfNfR7UDnpet6tWkmbDAzY1u9tuP94H2Ds2M4jFn/H0LAeBalBszvPrcLocwdAa0mPvrp/WxWXvAegFd6mXrXqiMgvzeq8/XT9UDvo2a/LGlxxNmVDIhL471Zr915ov3yF3kQm5xf7NUXiSeQjcBL3CtY4vRqqTJ4GoaidqgXmksw== 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=6kJ1InbQ1R1xU8cTFiCSvfNdthaGYGP0XVYPPo7p7D4=; b=cWbbP5uX85iixdfjDNA+4HB96hNoZ4KBXnASr14EStN2kvjmBCg/3vE47Ovfz+PgL1AtljJjLuzlrmOdTVbXi6pAm+DXAmzswMKv+f9U0yvbUb3cKTYFaGfoICIRqyq5EPGydjIRO1RbM2wuVIzhk0vs94BAvifMmmhH9TvO0iI= 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 BN7PR04MB5297.namprd04.prod.outlook.com (2603:10b6:408:d::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Mon, 15 Nov 2021 13:57:44 +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.4690.027; Mon, 15 Nov 2021 13:57:44 +0000 Message-ID: <1f94e84c-59de-bf2c-f244-e4672b981987@cornell.edu> Date: Mon, 15 Nov 2021 08:57:43 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: cygwin 3.3.x: another problem that may be related to pipes Content-Language: en-US To: cygwin-developers@cygwin.com References: <115203324.649908.1636923059546.ref@mail.yahoo.com> <115203324.649908.1636923059546@mail.yahoo.com> <20211115171811.844dce9cce2b4d13262d64f2@nifty.ne.jp> From: Ken Brown In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH0PR04CA0020.namprd04.prod.outlook.com (2603:10b6:610:76::25) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 Received: from [IPV6:2603:7081:7e3f:3419:9143:86f9:2cbf:bd4f] (2603:7081:7e3f:3419:9143:86f9:2cbf:bd4f) by CH0PR04CA0020.namprd04.prod.outlook.com (2603:10b6:610:76::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.25 via Frontend Transport; Mon, 15 Nov 2021 13:57:43 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a5c2c0e6-15b9-43e2-b169-08d9a83fe5b0 X-MS-TrafficTypeDiagnostic: BN7PR04MB5297: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ejOXZ9pouDgRC8HFL1cQomoJYsZK9hkoIzAUHiB2/u4TmdSGUvYrz4+yXnRWenSOBsWS+kxiZYLsNN2/PtyKAXY6ZsKH2mVV+RnewEbhep/ZLhjurCHw5vRXGlWfiLVOIK4TdcXywxG1PxkIoO4FsJrbTa8lfnpKrTNXydDFKYHG98/liWK/vvuR745LEfDYLK7dW9QI/zCTZ/IRvI+UslckuaFghYmDbCsbjiahRQ7Vnb5dDCno9AhIaB3aK8I4lkWU+N8My/1cWSgdbGEB16etSkGdrD0m7BLh7mRii2nZ2Hq7lNBQst25uGmNssa4DJpWuCw1LCUA38i2sEU2EQ04pMQUTtai99dfY4mpOS17F8IYw6y4mrb+Of3J5qgT9DfLMN+qChAcBButn3TbkWZZRQqO9xhWXOBIrdKU+Ztq+vanT07ndnlVYkcf3aoM5Mf1bT1SPAtV3v5vEQuPq9Fc3Xfv3v6QoXCIc8+0hFmhcHJEvjvoYvDc4W6yZLgK0gF4s8UjRi07MrLzYKhsquAJhawFg4oESxDHqQtk7Kk63xv3tKwpf9pDdwEvTMaltF1GeCRjIJVC04M+n79fwiQeLhuGTf2qOzZ4YAlSW7FxNSAxRBOOaIyTMj1PdaMcgIFZIll/ZIOOFVd+15rUTcDRGWDsvU/TLjNx0kykv5nsbXeiW8jpI49qBm6VrG0yyWNlfqak1PEf7wqe0UPH4Z9qIGI0DQI3A2nV6mI2GX8c82UfOvZd0m1PNr5t/z1T2KlJmjN6bxpTbZAnjx+a9DDp6ewOt0t39dlvlkh8fHahJh5RAWCVyfou8p4r89my 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)(36756003)(2616005)(6916009)(66556008)(38100700002)(8676002)(6486002)(186003)(5660300002)(966005)(53546011)(2906002)(8936002)(66946007)(66476007)(86362001)(508600001)(786003)(316002)(83380400001)(31686004)(31696002)(75432002)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VjZxQlFnYXZFZWkxWk9CL0JHU1ZkMkdiY0R0NTl0MnNQdnF5QkJqc2dkV3J5?= =?utf-8?B?cE5qcVR4YTMvekVocDNzZGZXUit1VEJGbzBoVHVwQUdGdno0RTBpbjhrUTFZ?= =?utf-8?B?OFRSUjRTUUhsT21OK2IxU1VrTng3QjdVQXZoNzlGZlA4THlicVZQSWFMUE0r?= =?utf-8?B?L0RydUx4bzk5YnAzZ1M5U3FiWlFpM0dEVUFVTGVDSXNmWjJJOWNSRnZmRHF6?= =?utf-8?B?Q2U2aXJxRk1FT1VQSTdCR3FocFFjV3YwT1JsK3dqbDNWbHo2L2xzL2ZvTWh3?= =?utf-8?B?Q3VMaUY5aFBIT3dBUTVzQ1lzM05BUFNtUHJESFZWOTBTRG5IVjZIRzluZlRn?= =?utf-8?B?eWNyTS9vcWJ2aHlQY3ZUVmRhRm5CS1lmTkxGOEN1UFRUQWRRZUpmN0I0SHFp?= =?utf-8?B?SEcvM2E0R1RxaExvZlhibkdCaTM3UlBLd3NnUFhXQVBGTWRqL1FvYVpTSmRU?= =?utf-8?B?K0ZQR0pnVEFzMDVpSjJlaExrWnNxdzlOTlRLRDFMV2tqNFVIcjIvS2FwcUI5?= =?utf-8?B?cXVHYkJObEM4aHJDZyttN0ZsTjlTUXgzZnBEWC9aSVJTWXg1c2RGVGhvUUQr?= =?utf-8?B?NUNja1Q5QXNkY2U3NE5FUnIvRmRsQlVvVEdBRHBrenkrZTlCZVN0ZzEvdHd0?= =?utf-8?B?MHhZZjBOWStObUk3VXBBS1ZPSTdaWFpCMmN1elZvNERuS2dwUktHN0dBM3l2?= =?utf-8?B?MXE5TEI1RUd2Ni9MQ1VPWjMrTTZFUXpBd0F2akdWZHlzV2JIUkMyUDgvQ3pS?= =?utf-8?B?S09hZjYrMUpNTXdiRFdnbUFRekY4TGhWQ0JCSGsySVRJMUw5Y3NvdHJsZmpZ?= =?utf-8?B?SzYzMCtTNjBwa3hPa2ZKd1BMMVlEam9OM2xVM0JOQVgxWkREdHdFNDJEVDMw?= =?utf-8?B?TzF2czRKNjdwaEM1eGJvendtOUpSZldHU05ZbDkreEFVSGtsSTk5NzZ4TzlF?= =?utf-8?B?RTJsWVhzUVRvU3l5RkU1dGc4OVhSbXEvTzZSbnpQaWRHMUxBVHhBbmZzaDhx?= =?utf-8?B?VUV6MjQwUWNtcWpDYWRlYlpiNE9mWkczMGJqTkhSbTN1OHNnUVRYTTlBV0Y1?= =?utf-8?B?V3dlYloxNG1KQnA2TCszeTl2a3U3MkdjWm44OStuQlg0aWlpa2IrOGJKUGRx?= =?utf-8?B?ZkRKZGhSdjhlZHN6aDRUc3djaEI1ODdFZzVsWG5sU3QzT2hRQ2ZzUFdyMGNr?= =?utf-8?B?NklCcUJXM29TditpOE9DdExmYnN6elR1d0pYQTF1TlhLN0ZtdTBtM0JycTNp?= =?utf-8?B?YWp5Ym9YV3BUNllRcTgxL2FUdjJ4aThvaW8wSnBMa3ovODN4UkZYamxQMzQ3?= =?utf-8?B?V3Vpckp2QjBVN3lWOWROamF0dXpRT1FCQmJCVFdGTEg2M3RJc1pnSGhGUWE4?= =?utf-8?B?N1RjN3dYaEhxWHM4dzJpaG9kVGN0QlR4Q0JmbjNEZWVjZHFrSm5obVFSVk5y?= =?utf-8?B?dU43a0JVSzhxdnpEUGRvSE9qV2ZDN2Z0YlA5OHNTbnpNU0RUVkpvcWVWSUE5?= =?utf-8?B?YUVPVEFteVcxblVHVmoxd2xjbjk0b3JmREVGL2dzVUlrSVNwQ0pybFFBUEVM?= =?utf-8?B?S21yb2ZSRlZNTEp1RFFEMXV2WjdWN0hGVjZnWlF1NldjNFlocGh5WTNkVS8x?= =?utf-8?B?Nm5FK3hSYS80REJSK3YwYVh4NXU3L1dzR0xBM25pVHhvVU1WNkYvZ0M4WTkr?= =?utf-8?B?Z1UvcWlLeldVN3NxK0tCcXFyd0FqTVBOUGNXZkRGVFRESjRtMFRGRGF6cHJn?= =?utf-8?B?eHlxazg3ZWJZTjdmSnl3ZENZb0lOOFN4MkxJM29VMDFBMlBOMGZHRjRSK0FF?= =?utf-8?B?Tk9odDRNRTJ2eHNmYm1maGFaeFlOTjJMcVQ3YjhCYysyUFBuYTVTaHkzWUc5?= =?utf-8?B?TllrbjRxYm0zcTd3aVpKWElpbnZqUEdLS21OKzNRNDhtTGRLbHJ0Z0xDTGlk?= =?utf-8?B?ck5BOVAvN0JpaUQxS2k4K0J0Qi9mLy9NNkdaaVhSWlkzQ0U2eTZLNXlQd1g0?= =?utf-8?B?MStoeXJwVm1KTFVIM3dnbW1yNDJwR0YwdFZmeGJKQ3dJUSs0U21jcERFUk5r?= =?utf-8?B?ZjZ2T1R4S2R5TkxuV1lVcHpQZXFMSWxOL1JaUUJiQk50OWd4Ly9Ea0JvcHpT?= =?utf-8?B?Q0U4SitBbEVqS3JuK2pqYVoyYkRGL0hxNDIyblF6VXEvZWVycmg4MllnRmVn?= =?utf-8?B?eXd2TlRWUEV1SmhtNmZBYmxxY29vcHllc0Z0L1FSYWNvR2M0OVJsb3NheXdK?= =?utf-8?Q?DvVWjhWLSdPvuYE8N0GSC6k7YpcOLhm5wY6T+Yjlp4=3D?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: a5c2c0e6-15b9-43e2-b169-08d9a83fe5b0 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2021 13:57:44.0953 (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: 8e024+WOWeRqZr0AhbWvMeZwKsy9LNuDhPW/wjVHGPWynZHRAjI5gcx/AAN9s3Tbvx4LWJA9EQzJLtgJhufONQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR04MB5297 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, 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, 15 Nov 2021 13:57:50 -0000 On 11/15/2021 8:01 AM, Corinna Vinschen wrote: > [Redirected to cygwin-developers] > > On Nov 15 17:18, Takashi Yano via Cygwin wrote: >> raw_read()/raw_write() in fhandler_pipe.cc seems to need handling >> of STATUS_PENDING in nonblocking mode. >> >> I also confirmed the following patch fixes the issue. However, I >> am not very sure that this is the right thing. >> >> Corinna, Ken, what do you think? > > I'm puzzled. non-blocking pipes return STATUS_PENDING? What on earth > is that supposed to mean on non-blocking (as opposed to asynchronous) > pipes? The problem is that STATUS_PENDING theoretically requires > to wait for... something, the pipe handle, perhaps, and then to check > io.Status. I noticed last week when I was debugging the XEmacs problem that NtReadFile occasionally returned STATUS_PENDING. I commented on it here: https://cygwin.com/pipermail/cygwin/2021-November/249827.html But I promptly forgot about it when that turned out not to be the problem for that bug. My thought at the time was that we needed something like this: diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc index 9392a28c1..aaf09829d 100644 --- a/winsup/cygwin/fhandler_pipe.cc +++ b/winsup/cygwin/fhandler_pipe.cc @@ -336,9 +336,10 @@ fhandler_pipe::raw_read (void *ptr, size_t& len) break; status = NtReadFile (get_handle (), evt, NULL, NULL, &io, ptr, len1, NULL, NULL); - if (evt && status == STATUS_PENDING) + if (status == STATUS_PENDING) { - waitret = cygwait (evt, INFINITE, cw_cancel | cw_sig); + /* Very short-lived in the non-blocking case. */ + waitret = cygwait (evt ?: get_handle (), INFINITE, cw_cancel | cw_sig); /* If io.Status is STATUS_CANCELLED after CancelIo, IO has actually been cancelled and io.Information contains the number of bytes processed so far. Takashi, does that fix the problem? > Is it possible that nonblocking pipes need to be synchronous, i. e., > setting the FILE_SYNCHRONOUS_IO_NONALERT would fix that? Ken