From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2125.outbound.protection.outlook.com [40.107.94.125]) by sourceware.org (Postfix) with ESMTPS id D1F21385800F for ; Tue, 6 Apr 2021 15:45:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D1F21385800F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cornell.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kbrown@cornell.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yum8xPRu5ZNwDyYV+HhsQf+PKgRKw9MzYQiim93S5IF96nx0gDPZ91KrFUd4/AggjIkH1UBTWYSLA0O0vuBlB0FiT1t6uNqAjQ2kAs/MB+wYm5LLhUoZuLz6oa1cG9wTswFx8igGXmTF9q/SgXrhDd8SJAbEFQCe0TSOoRA6wYCboIy9wDZqDFzYN2LvJiRzmKEOn+zm8jx3pCUY93LxtCopmxn8azUPwnBZQUzB1M0LfTeqfUwHZFwALxpSp6GlRYQID0vViFhZbxJObM6oImCbX0I1muwL1tZHBWX2PHmkDBo8AFigAPoFeOqVP0ez+NyVWqywCKKa0cc1YtrIvw== 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-SenderADCheck; bh=NU4PVsw55TUMb9rf6KEka50mEFCN4/FYBA1oGT0C/UM=; b=Aj9Ho2sk4yFR7VG0t3TOTmGRMkyqtMmoGunCpOwlOzed7in7iNzB4fuYR71BL3D+0LmaahbaNhYjBfUnYA6aI59ASeLurP93A5/X8u7WnQsZDNZZYQH6A25Qj6NNFc7DLCVQwfo20YJRX1VXCf9znElyllRzKa+ir9x4sF8Zi+SD8kOhqV5wRlP5kWHgFNfkBz82X1BpZiLFgtuTA/DDxzVGJ8CwWLwnkW85a+aoiXMDxem2tr+BpJ6qKlZqatd2x6mQ7NFICK2HGNWT27E4nE6096GopvTNLelPzB5OM8LLmf0Sn1NKIUwIXZf68mSy/jxsFkeFjOrH4V2SYm6/Cw== 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=NU4PVsw55TUMb9rf6KEka50mEFCN4/FYBA1oGT0C/UM=; b=DbgD8uQsDCG8ejeYlrwRFsmMGyfdkqccUdX+T6Txo6lRSQ5WdYLnri1x9VoUJZrOkCiLmxbyVjYOp0ZNVqmBFnIaUjrlwXiXnNf/2PHpTx/PVXn1GRwsfL6o4yaOWQ+USt+6SfY28xPOT+yhx9tXJvY1NTJ2yesGm17H1pyJPUQ= Authentication-Results: cygwin.com; dkim=none (message not signed) header.d=none;cygwin.com; 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.3999.29; Tue, 6 Apr 2021 15:45:42 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::59f8:fcc4:f07e:9a89]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::59f8:fcc4:f07e:9a89%4]) with mapi id 15.20.3999.033; Tue, 6 Apr 2021 15:45:41 +0000 Subject: Re: Questions about select for sockets To: cygwin-developers@cygwin.com References: <6b50ec89-5c02-c49f-ad85-e581589d21d3@cornell.edu> From: Ken Brown Message-ID: Date: Tue, 6 Apr 2021 11:44:56 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [24.194.34.31] X-ClientProxiedBy: CH2PR07CA0044.namprd07.prod.outlook.com (2603:10b6:610:5b::18) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.0.17] (24.194.34.31) by CH2PR07CA0044.namprd07.prod.outlook.com (2603:10b6:610:5b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Tue, 6 Apr 2021 15:45:41 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2bdcbb85-5756-4d8e-1b83-08d8f9130887 X-MS-TrafficTypeDiagnostic: BN6PR04MB0709: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:304; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WCORTHCL6vYmsFls82xPAyQQu1lKo+mEHvxBPcxI2s1W+TYFppbL2zbvWo4Qf9RbDO9ofkQFg1eerS39v/mjaN8FAT5QPJBGzJhabHZJpuOvMZaaMQrdDqIl3tUl9gB6+CditUfnk+n/OlYJyT3c82mcwmR40ixhf8eE+dE/mqsPFo4ocfBxRTXguyo4wXzLku5lJjVEuzkBGbvSwgLoe+g+RPSQU1POxDN9v1HpUpvGzgHtbCqNt7rcwhK9XCfG9sasiiyYCdZLpP6/aM2SKz5kuLuOTltujrdItU6AjvbQW6Qr5nAODh/qZ+9bwPAXno8kGVZQoS7S1AteDqbDu9omvOyIHf8lns1xbIAAlFLKPplX93Qqs5a8EjKrTlDABk2C3O5Z3qNDfvJXovttas+yoaRg86/JJeeUu7TDfVUeEtrAteHIIPb/0B+1xI+jXdlqdreKpOzLLCcoGosxszWPCTpo7zI1jzldWWBYTZ+SaqHhvOAuluOveTAsL30ZIWyR9oBqp4msXUmapNorH/Nud8l0L1R7h8m2YnYXFG/tSRtJXpsOP58ZRz/Hvm6rpy2Xz1shudQcyrwgZtsixiU3jzqsXLPqHcxUYRdObL2iRGh6NS/JdvXW95mrTFtjle77+vlmt2akLVkj4Alesa8dDi8resgShHaSAQ2a2P9LRLHnByjIa69Mhyd+14+/KfslLDAheirUN/Zy4YEozjiqAhoTrvSf6sJxEbd/WxeR+Ws5Z4vd+ccuvpGssMZA 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)(136003)(396003)(366004)(376002)(39860400002)(346002)(36756003)(31686004)(66946007)(2616005)(786003)(75432002)(5660300002)(31696002)(8676002)(6666004)(53546011)(52116002)(316002)(38350700001)(26005)(956004)(16576012)(66556008)(478600001)(6486002)(86362001)(8936002)(2906002)(16526019)(38100700001)(66476007)(186003)(6916009)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?Windows-1252?Q?HzK903ciQc3oJ18dWf+ZmB/gi9LBi2xR1KP5cEI8aqwHZMcswAir0oD0?= =?Windows-1252?Q?CG3hilDzT4jIAbaSnXVa0Dqaeh72oZPT7rWr5uftm/MqsLPr8L2gr1qt?= =?Windows-1252?Q?XYUWs43swbVGqXBV2iER8jqlGCQcroCyGEUDVKvSwhBP/IF0qZGLEGoV?= =?Windows-1252?Q?3zQDt6LxdX87DXJ6uRoLEszXlmLilBiFNWORg8GdK2G5L7oKPJTi65h5?= =?Windows-1252?Q?8BMAJADN8fGal/qOFhfeRiuwKONv3Nd8GqZbh/RY3rT1gQqMnhRxKmg6?= =?Windows-1252?Q?z6fDagh34gWGY5ylzz4iSDL76zJCSza9GYcD4FEtbIEt+O6clAdCjGXJ?= =?Windows-1252?Q?mnfw4Dy/dld+csafjDIx84gSAORY0kFpGfXOTbVjmJWxX49rVNq2wDqo?= =?Windows-1252?Q?roOAnLg6F9G/uwNqfaDd4Pz7boOI7HdLYMuuH8tCF9+XVRDrq1iy5RYw?= =?Windows-1252?Q?/6K+9kA6elXD/GfGrhDooZvrMuGQG8CAKt0HRH1ASjlkpZAQygTj1tLD?= =?Windows-1252?Q?xTsy2PP96LWw9kdEyVV9ZzLv9K4TdqSbdiGm7RCK9VFhl06ZKH8LHeup?= =?Windows-1252?Q?/5QV0EJ6U4DNxoKncTgYsCzqwdnmdGZKE7JaPNwTvdGLKdmI+9YAkcCr?= =?Windows-1252?Q?uyRhYZSOpBODldT0RRjnBFCZSsaOj/W9112pHZFQKvl70rMFNBwbjQgn?= =?Windows-1252?Q?FO3P70idE7AhspHuiygSFU7IjTAQUw1+knif1B61BYPm6s9XphnZ4V6/?= =?Windows-1252?Q?/asUmi+xd7KraeFn/QC5/5ynZmCtaUsMfUVTB9428Y2sVqkvplj3LIvf?= =?Windows-1252?Q?xJj11rcbPmFZkAEdaoAeEcUvVuQn2uQDRtIp2Sb3SMLxcdSclKBNFgNb?= =?Windows-1252?Q?Gd0mrauHKfLCB7bcZhhSrVg4m+bkaG7Cc2IxMACPnTMJxfD4Q37+95qo?= =?Windows-1252?Q?3ZJQfHXKHcrsO8Xyx5pyFNn+QfR4PPQUsxd9K5i/7I74Zf1Eyt/d8pgx?= =?Windows-1252?Q?OakBO5pqOkbH+BtOZnYorOWlYKcMvNR1I5CH2vE+klogoMvg3+U+oKZP?= =?Windows-1252?Q?DEPmqij5CAPfEGwHoVA3WDVMfphlqArXEbzDlsOqEO03cGjTjHjhR1gb?= =?Windows-1252?Q?HAwpp/kGujypty8qq7f+ZMUROkm9XahQaWK7419L67xNPcNv6GhBWsiP?= =?Windows-1252?Q?enRiSYFA6D1rCLnTHH8Nkc/o0bknphQKDD/b5wcAnYIVKTzoOnfQU46E?= =?Windows-1252?Q?S8X4p+fWScA7viuh27iOEeVjKkY7Gf7rjiR6wvIGjuECxS4Ax34zA5xN?= =?Windows-1252?Q?/+yaD7rs+oFRuNt3DO4IRYZ8i6hd+RX4DiAAFHGasVxdly+1kAWq0wOZ?= =?Windows-1252?Q?4uKZystIYU7L/soMtFb+Kld78aTeho5wwTWpjdaTX1Q64SrWT5LYdpBF?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 2bdcbb85-5756-4d8e-1b83-08d8f9130887 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2021 15:45:41.7461 (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: D6Ahh35ODGS57GirHm1ABtTIgQ7MGkwsfgGC1770X8MbqjIFStiD/8ogGYTepGfF0cK4dAMH1Yi8/bSfr4It3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB0709 X-Spam-Status: No, score=-3.8 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.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Tue, 06 Apr 2021 15:45:45 -0000 On 4/6/2021 10:33 AM, Corinna Vinschen wrote: > On Apr 6 16:20, Corinna Vinschen wrote: >> On Apr 3 14:16, Ken Brown via Cygwin-developers wrote: >>> 4. Why do we set >>> >>> except_ready = saw_shutdown_write () || saw_shutdown_read () ? >>> >>> I can't find any documentation that says that a shutdown should be >>> considered an exceptional condition. On the other hand, POSIX does say, >>> "Other circumstances under which a socket may be considered to have an >>> exceptional condition pending are protocol-specific and >>> implementation-defined." So maybe there's some Cygwin-specific reason for >>> doing this? >> >> Nope, this is old (and wrong) cruft. Neither Steven's book nor the >> Linux man pages, nor testing on Linux imply that ready for exception >> is used to indicate anything other than out-of-band data. This should >> be fixed. > > We may also have to change the saw_shutdown_read/saw_shutdown_write > handling. I checked this on Linux and what happens is: > > After shutdown (fd, SHUT_RD), the socket is ready for reading and writing This seems surprising to me. Is it really the shutdown that caused it to be ready for writing in your test, or was it ready for writing anyway (e.g., because the relevant buffer was empty)? Ken > After shutdown (fd, SHUT_RDWR), the socket is ready for reading and writing > After shutdown (fd, SHUT_WR), the socket is ready for writing only. > > > Corinna >