From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2136.outbound.protection.outlook.com [40.107.237.136]) by sourceware.org (Postfix) with ESMTPS id AED4A385842B for ; Wed, 10 Nov 2021 02:02:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AED4A385842B ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FzOYFEcymFYc/aQyMUn9z4vyTyPVAyiFXHTu4nil6EJxJ5trEd1/9qcLf/KZsln3TdKUrGXrVz3DmAiDv97c9CdM0+njmCXEvHTiYoZ39qhmvx6XVirv9Je4QrzVWf/ih5OV8AFspfbCY3kAmBwNUBrgO1+fvskt/1yeOmZb9o0NzhdLnQt0ACoMSJfi1SHTNcCTcIkLcN/3PD61yvZxuABYrsCZsUOP/oQbd15KBznDaTH6dK2/pJgTTdf8TqCMcPegjRXcxi16OeLmqNskfEYLxLbe1cIwcugXRI3JAS4JF/Nwiu9o6egflIFCcm05lXydLG2mHONFB7UebyqsgA== 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=kMyuW5ya6ZJzpoKY1ukTafsbJZ7N4UZMVAfu98OlibU=; b=ddRE7uyVHvH2jUAAM4szQl4JbPOMFm3DSu6GRMmTy4WYyXL2e4rqgMbxcb+6pRe9/q8XjJjqKUsCREBgMXgoTYdHARJmURv/XD3hTCoEVy/ibJBGyOfeVVYs7WzjSEQyG9xklH7fDYktL+3agVmKxjS0kHIs+amiYE19YUBMsisNoinEOl6ysKLwt78l0JLOpLrU1Y7SHbpjQDQ00uEGMDUyXzX5QtzntocTaorQb8wvaz5GB/QCfMXNoYXdedxEk2UAbHTysmOq2BFPAEAw1aAI9vL6jxyU2CWa4U6eeQHeHmLzNpraOzUc4ZitokwKSGv+wV3n0h5XTuXqUr+Kpg== 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 Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by BN3PR04MB2180.namprd04.prod.outlook.com (2a01:111:e400:7bb8::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11; Wed, 10 Nov 2021 02:02:37 +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.4669.016; Wed, 10 Nov 2021 02:02:37 +0000 Message-ID: <4b4aa8df-12bc-77d4-7a30-2aaa885dbc4b@cornell.edu> Date: Tue, 9 Nov 2021 21:02:35 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: Another pipe-related problem? Content-Language: en-US To: cygwin@cygwin.com References: <05c4180e-396b-4af3-ac0c-2ab8125df17e@cornell.edu> <20211110082245.2943cf3c2519bff24a6843b2@nifty.ne.jp> <20211110082932.3e33bae9364db0dda0c57d16@nifty.ne.jp> <20211110084822.fa32acb567bd26ab43c393bd@nifty.ne.jp> <20211110091613.26a636e789fe36a098412f1b@nifty.ne.jp> <20211110093741.d15b99a1361e680f87b61fd8@nifty.ne.jp> From: Ken Brown In-Reply-To: <20211110093741.d15b99a1361e680f87b61fd8@nifty.ne.jp> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BL1PR13CA0401.namprd13.prod.outlook.com (2603:10b6:208:2c2::16) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 Received: from [IPV6:2603:7081:7e3f:3419:7428:1d03:8434:f8fd] (2603:7081:7e3f:3419:7428:1d03:8434:f8fd) by BL1PR13CA0401.namprd13.prod.outlook.com (2603:10b6:208:2c2::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.7 via Frontend Transport; Wed, 10 Nov 2021 02:02:36 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f4a2a1d5-2495-4933-263a-08d9a3ee2b12 X-MS-TrafficTypeDiagnostic: BN3PR04MB2180: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qB3eDTfIe9ABNF1N3ofEq6pONZTd18CPauxfFiiRjkgTnS3RyyH4yjudM77JBvJf82Y5Quus+1Y/lvyTmBWgVBuagl6zvw7WWM1vykiyhf5DACdMDLUGwviiqzjdDPeWfJfihIrnfM2emfH+9LgrmV34kbkGqBT2kUESvWS0EDtTYL1+q1EomUL69PCpTM3yVqthJfmHVIxfyDn0xm6B2iDm6EhaGRcNgsRFqSa5zro5aVAwSDi8MG7A9iveSNkgw7ueGrzCbVYkRyE//YDR1qqmxG/PhrxGoCjxUQh67KDtU2cv27M+UTXfLrr8aWL7EEe1xmm+swOF2FV6iFNA6VFOBaZZBoVA4kr7FpHbWsnP+k7UxyGnR4P5jLVBQZI7/nyji41+m/pf0/ax3HQoxa8xd6mnpHtLVj+SMvHy831OCfZCe/Ak9KYoVcfL+iETLTlXBcqK1dr958MTp2MTYRGSH1pgfaJc1B2Y+AGaMysV/pze7ILOzBB9/+WIPT8i8MBymKGcPDxyT9ThXLUxZ3FwPN61m5/XyyQh/m+D7cLbLO9/l4B5sCvWfSJxD4lYRPDfN6VTBBt/qxBOUjaoU+hS/IuLgDUuE+N77l9AG3gQ6hJy5WsBHf7iPnxAqO+1/JfRAimkUNwKZkOJWGb1RdGnfRoP5uv8qaTNkRF1sbs9UvJamloZjtp22RwLoNGDXoNJnOPNiEsYu0jNMvKq6ZRQioGmSXJlxTUf1MqHmsM= 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)(508600001)(8676002)(83380400001)(66476007)(2616005)(31686004)(66556008)(2906002)(316002)(75432002)(31696002)(5660300002)(786003)(66946007)(3480700007)(186003)(6486002)(86362001)(38100700002)(53546011)(6916009)(36756003)(8936002)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aXZ3bUJ2UG9LTWI3a3ZDR2lqejBQWll1V1dGa1RlRkJXYTZXSUN3K1hacHJB?= =?utf-8?B?TUhCUWMyVWZBN1Focmlwa2tOV0k0V2xUT1VWWUE2R1hnYmJzMm81V3U3RHpM?= =?utf-8?B?Z2t0ZTdkMXBxQzdQWTVBYzdGdnhCMWRLV0lHK1dhNU9ndldiQzg4ZG9aeWph?= =?utf-8?B?ekJib29WT2tEL2x1WjNIbVdEOUtsRUFKc051V0dQTldsa3pEZGx5dHkyQXE4?= =?utf-8?B?MC9DSnYreVV6QThKWXhMTzBCVmUwanVqMTVMRmpEWmtxN0ZkT1FNNlp4KzZm?= =?utf-8?B?Yzc2ZHNxb21scitORXhrZ1p5RGlOVFllMGF2TUE4K0JsMjVLTHRqYlpxUXZu?= =?utf-8?B?cCtnalp1ZkhJSVJlTFNHOVE3cWNYL09tbDg2T2psV3ZsVE04dmV5ZC96MFdG?= =?utf-8?B?MnpSVHV1Wkh2M0JCU3pmSHVUdkJmODBNdHZHdS9ESzhobjdtSis2VEVWYmJB?= =?utf-8?B?MFkyNkNMT3pZQWxKeE1XVVA4Uy9XZ25WdHpVSXcyNUVnUlo0SmNWbzhHQjBF?= =?utf-8?B?UllSMEM3Q0ZDMlBQaENIS3Q0OEx4T1Rpa3l0MUhoWTl2bmNncjMwQjNxTUlT?= =?utf-8?B?NnorcWE3UlFxSFk4U3kwM3BOdVdaNkVNVkRFNDB5QzQ0WXk3bk5RM3FkOXVY?= =?utf-8?B?QUNLZi9pTFpyamkvcXo1UG1GSzJPRzJUOG1ST2dMZlAxa1B5ZTdVWnR6SWJJ?= =?utf-8?B?OXJoYVhGQ3Q0d0VaOUUvL1NpRUtaZy9udHNFZ3gvb2tXQ2JsTm9UWmFlWWd2?= =?utf-8?B?cE5weWV6VExiM1VCNVBIanNac3dza0g1QXRLV2RhcUloNG5MM1BjZnhmQXkv?= =?utf-8?B?c2pZOTRTSDl5cnpWTWNDRlMxbzUxQzk5WjUxbk4wWnVnS3U0R0VzUjFvM2dz?= =?utf-8?B?RzRyaHVpcHBPSWpLKzlndXFGN1ZGVUdiQWtpQWNYdFFtN1NLN3h3MlZuSGU2?= =?utf-8?B?bkVUeFVsZWdEa3FSOG1PRHdsZG15VmpCTjQzT05QZlFXZzZPdlJLbm1wd21E?= =?utf-8?B?aDRFQUVJc1VhSy9wK2E4RUd1c1JidTRDVWl3T1MwQ1BkazRIUFR4M0RMODNn?= =?utf-8?B?c3lIMmVISlB3SURxbG5RMWxBbWRBR09xMis1QXB1c21FNzRjQXczN0lnTG9C?= =?utf-8?B?UDcxZXF0QUdPSjFlcWl2UEhwTmFWZko3UWpZOHdIcjlKbEtPaHdDUzUvVDZu?= =?utf-8?B?WHhnUmVmbGVQeVZ0a0JmSEdFaEE5RUNyc0NWWGh5UjJmSUtWK1lYWlNhRjRL?= =?utf-8?B?SitibS9rcEFhallRSHhHd0NmSGxjYWNSa210cUtnRVVuWDNJQVlxRlkwTzhk?= =?utf-8?B?V3k1RU82dmZVQmRxcFFyMEh0SmJnaVRibkhDMHpPSDJ6ZkRoTWVQdDQ5Ti9W?= =?utf-8?B?QWhFeWE1akdmbnlhTDVpOG5DcytNTS9sVVRDeWVWMnpWc3F1eEQ2aDJPdHo3?= =?utf-8?B?c2NOYUlHdXppVG1RWVI3bFNIeWdEaW5CR2VrU3JzaktieGk5QTRWbHlCQUI4?= =?utf-8?B?ODI0ZEdjMDdpZ3cwaTllT2pLWHlMaWRXNkRhUXZDck5KK253QTNqbGFGb2JY?= =?utf-8?B?Wk9TdU5SS0FmZ1dtNnp6Q095MUdlOGNkblk3TmZ0S3RGNVBxYUpKVXFMM0Fu?= =?utf-8?B?enYzVWtwM0ljRGUrSXRoOTJjbFdNZlZqQjBJZm1kdjlNQUk2M2pDdjhNUWRS?= =?utf-8?B?a0RCRWhtVW5vWm1zWUlnZE5TNlBqOTZBbUY3Q1VmcmRITFJ6UUFOcVZVR0pG?= =?utf-8?B?ajZ6OEZMQndqc0x0NVBKTXdLQjZ6QSsvMGxyOTl6Y1R5bVR6QVBiUHNlTEFm?= =?utf-8?B?d093WFdCWDlvR0VFOU9IaVFSdG1JMzhHcWR1cHZxSHluT2hmelFxSnFOSEEy?= =?utf-8?B?TC9EUlZ3dGxTT3lUWFd4OHgxclo5VlEvWWRMZTAyeVRWM3lTVk5FaXhMUjk1?= =?utf-8?B?SkdKT1pEbml2MWpwdHJ1OGt1dFBEUngybkVNVE95TlFSYkVrQXp2bE1vdC9z?= =?utf-8?B?eTB6N0J3SCtXRDduUDJtZzJFRmQwYjc0cmhKSU0vRGlvNWc3cmpqSGlTd3Ew?= =?utf-8?B?aUNoMHRITThBN0ZmNFJwZ2doano4RzNpTGtDb2FXeXZDdXdsanBHaGo0d3c1?= =?utf-8?B?dy9hWXBUT3k3S3llWndvTm5qRmNzQ3pQemVTSEhFZW5teVQzazRuR3pObnYx?= =?utf-8?B?UEpKRnNJbWYyaTIvNkpBUGlxMlppRDRKci9hSk9vUU5lV0g5Rm9JNndkMjdY?= =?utf-8?Q?JuVsLha/Yg3YudRK3KKbpGD5AI1Yt3M8w3DnB/qmQ8=3D?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: f4a2a1d5-2495-4933-263a-08d9a3ee2b12 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2021 02:02:37.0898 (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: xAN6QA0bj9EYHwMXDS4bS0ZSmdoffVYum62+txmLe8gMGi+afUNH0vPAtZMy5m3rY6ev29cCcRhs9eSQX2iPXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR04MB2180 X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Nov 2021 02:02:40 -0000 On 11/9/2021 7:37 PM, Takashi Yano via Cygwin wrote: > On Wed, 10 Nov 2021 09:16:13 +0900 > Takashi Yano wrote: >> On Wed, 10 Nov 2021 08:48:22 +0900 >> Takashi Yano wrote: >>> On Wed, 10 Nov 2021 08:29:32 +0900 >>> Takashi Yano wrote: >>>> On Wed, 10 Nov 2021 08:22:45 +0900 >>>> Takashi Yano wrote: >>>>> On Tue, 9 Nov 2021 09:11:28 -0500 >>>>> Ken Brown wrote: >>>>>> I'll have to reproduce the hang myself in order to test this (or maybe you could >>>>>> test it), but I now have a new guess: If the read call above keeps failing with >>>>>> EINTR, then we're in an infinite loop. This could happen because of the >>>>>> following code in fhandler_pipe::raw_read: >>>>>> >>>>>> DWORD waitret = cygwait (read_mtx, timeout); >>>>>> switch (waitret) >>>>>> { >>>>>> case WAIT_OBJECT_0: >>>>>> break; >>>>>> case WAIT_TIMEOUT: >>>>>> set_errno (EAGAIN); >>>>>> len = (size_t) -1; >>>>>> return; >>>>>> default: >>>>>> set_errno (EINTR); >>>>>> len = (size_t) -1; >>>>>> return; >>>>>> } >>>>>> >>>>>> Takashi, is EINTR really the appropriate errno in the default case? Isn't >>>>>> cygwait supposed to handle signals? >>>>> >>>>> I assume cygwait() returns WAIT_SIGNALED when signalled >>>>> by SIGINT, SIGTERM, SIGTSTP, etc... In this case, EINTR >>>>> should return I think. >>>>> >>>>> Is it wrong? >>>> >>>> Ah, if SA_RESTART is set, we should continue to read even >>>> if signalled... > [...] >> No, we don't have to do that because cygwait() do the same >> internally. cygwain() returns WAIT_SIGNALED when signalled >> only if SA_RESTART is not set. So, the current code LGTM. > > Ah, however, should we handle WAIT_CANCELED here and call > pthread::static_cancel_self() as following? > > DWORD waitret = cygwait (read_mtx, timeout); > switch (waitret) > { > case WAIT_OBJECT_0: > break; > case WAIT_TIMEOUT: > set_errno (EAGAIN); > len = (size_t) -1; > return; > WAIT_SIGNALED: > set_errno (EINTR); > len = (size_t) -1; > return; > WAIT_CANCELED: > pthread::static_cancel_self (); > /* NOTREACHED */ > default: > /* Should not reach here. */ > __seterrno (); > len = (slze_t) -1; > return; > } This looks better to me. I think the default case actually could be reached if WFMO returns WAIT_FAILED (admittedly unlikely). Ken