From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680110.outbound.protection.outlook.com [40.107.68.110]) by sourceware.org (Postfix) with ESMTPS id A1B8F385E001 for ; Wed, 14 Apr 2021 16:15:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A1B8F385E001 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=CIrc8gZ0OYWnYTET1yUTX14kujW2S+Cm+Myz3JMVtnR9kQUzGzU4w+AxeOqcGtom8RYfX+cu87i+s5Pa/GATJVG3Z53w6ZHEioZKQhvTlUxcRM3UCLW7dWhUGFEyS+yZ5Q54dV56k9/1DWocnlK/fskSBoxQ6J3LtpQEO/v2VQlezE9YKMAd2i4tyig0vEPlnyi8izRJffYRoKgc/k9THcw7oh3aEBf+Lu9f15th4r49U41fMKkrKeKC8+0Lu4qx6YQ3c7q/FA4/qe5LSN5TVUU9x/c+2Y/p7CIGMFMS9enzxbcyvYcAPcklLBaPWIVz6I5roWfkmvXEclrCaWOd7Q== 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=T16ghRoYICQHsc1FdrR9UbLOqAHOTLPwdefywPPFhcY=; b=leC+C8mBIYN3HX42vgpeafsJy2jB1Cc4HZ3FhTxC5WqdQih8ZzK8X38cqmQ38DFE/e9xtitC6mOctqrb7KYeE9yTLHGu4zOKAHyHV3LrysiQUqYiXcLSFQwsvEHCZWsMqWW0uN/5H3M1IEP1pf7t7VmxHNe5dM0G6++CDQ9MColEiCexHa6ZKFX4hHtTb+ujXgFVoJIaoxSjm25sV0PdqhJR5EeC3pZZBPciFDsdM9ZjnG6CUb/kEZyP9wctI3biRSe1CA00Fq8iqz6Ynz88QV0JtctseWYgrI9AIc+Ih0py4k14VMJnJUwVPf/g7jDWODvOm47QTsrGBmTvWAIxzA== 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=T16ghRoYICQHsc1FdrR9UbLOqAHOTLPwdefywPPFhcY=; b=fUlKB+G1px1miDVgmaXnKcwnVhT5CAnLr7qa/cp+lmzES5twsdxyIIrU1tsbj4OVQ3jUMBpUSa7dL1tpBBvysfjnhKKxMFy86IpQh+22oNccWTqDN0uAruuv1ebM9Fjm5jaU3/G5gu9trfAcznH5y0K92EA24pxJGq2pniPBnj8= 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 BN6PR04MB1027.namprd04.prod.outlook.com (2603:10b6:405:44::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Wed, 14 Apr 2021 16:15:56 +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.4020.023; Wed, 14 Apr 2021 16:15:56 +0000 To: cygwin-devel From: Ken Brown Subject: Problems with the (new) implementation of AF_UNIX datagram sockets Message-ID: Date: Wed, 14 Apr 2021 12:15:54 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.1 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2603:7081:7e41:6a00:58b0:dce6:ff81:dc78] X-ClientProxiedBy: CH2PR16CA0007.namprd16.prod.outlook.com (2603:10b6:610:50::17) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2603:7081:7e41:6a00:58b0:dce6:ff81:dc78] (2603:7081:7e41:6a00:58b0:dce6:ff81:dc78) by CH2PR16CA0007.namprd16.prod.outlook.com (2603:10b6:610:50::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Wed, 14 Apr 2021 16:15:56 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: af34d66e-aa1a-4176-fe83-08d8ff60959b X-MS-TrafficTypeDiagnostic: BN6PR04MB1027: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KvQwoKIBBENOkAhki87ZPqsjp/R+OJcZXwzm4qHY3IpeBsrEVvQX7U+LLU7GD1Vxzi71seQdppu+Y3pVygpUuVgXIgaDJbGiXzOUm3QqfhuatfO/LrCNhfk3ScB2WhGof8cRuIC1gIO0qBY2xxI2cfP31QueyawzSVGsWhG+0CkjsvqZefbPtenKBRlXJcLVPAFuFPqZc2Y4TwnNMfEeRTs7+NlfzpA06XrBNLA98FvuhTRhSJJ0cZDL/3lBaT84BKK/9myAFaSlDG9BzIYkXZ9ek+8G7/0SEhO0H9zAXkrhS9RSRPM4aXOz6SN75CYXuPPYFRnMbVq0EC/K1FrgE3hT4IubjwuWEyouYGB9hBrEot9Oe0IZQvTIiBo6Wd1MjweGHJdq2g1r4N4Z7tJ9irB/YI04i+QFBAIrYd8N6Qe0SXgO542phA9OGArs/VoN8rLSUJgjuYEZZWeJhxT28mNIlCxAiyFaUXoLUB7c846FfyJE3HnMWvkvhNpmQphgoLFU977JoV9XpQn8fNCS3qTmUcAQDzK+rcITWlDH1gf05vKTGigu5gfCIHqbaNQfrQsDCE0veB5Ad/q34xo936fdl9RWgkyEetM7QP6QuB3umDhm2hA/EAuNrt+JYyMu+aca2g8GBtjgzpe2qOhqwGI5flkrKG4uV39FDXqN7jwR9t5aSfVjvuQHrWChn96TKj9XQNJaEeL67EHUDFOE9XMu6B3nBZ0YJsC7wl1IbjsYtCyfiphfNCQFwoxA7tSOusC3zd0Bv5Yb76Gobo53hg== 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)(39860400002)(346002)(136003)(376002)(396003)(366004)(2906002)(6486002)(86362001)(31696002)(75432002)(52116002)(38100700002)(6916009)(83380400001)(966005)(5660300002)(478600001)(8936002)(31686004)(36756003)(186003)(16526019)(786003)(316002)(2616005)(66556008)(66946007)(66476007)(8676002)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?Windows-1252?Q?zKWFIh4pN4A6jpJz4oOgH3gELAZ02ty19fYoT5HLVexzwTWLq80fjTuy?= =?Windows-1252?Q?VvWNFmnme8JEGYh8aN6034r75Y6Ei9AZAIIfAG1NROO4LLSIAMkn8SJc?= =?Windows-1252?Q?qtpUXPO4pK9R5096aKG+r8hxh+3Xj6iMB6ri1XtEHGVyaJYmKMxV757J?= =?Windows-1252?Q?iC2smJL3qgkb37sUM2POhSBq+oBu+yEuzq2MhsZfUYQdtA4iD3PIXMqt?= =?Windows-1252?Q?yXmemj9Ysh0/TfZJ0tHzFHyDJtf5+rSQCrq9uwOwTxkIISqUNBQGX6GW?= =?Windows-1252?Q?F4lSZdB2GlyvU5+Dynj1V/htgrcptz0yy93gcVlbtSIpSAMlRq3o7S2v?= =?Windows-1252?Q?1rdZJVJhrTVS99/uaIEJA3rb/a54lL+h5QTltSxcZl0Nod0Sy7k2RaqE?= =?Windows-1252?Q?Ij8x2YWIJn0J/63/R4I6KvGfl2y0V4y7fDC/NqbHM9mD32mMvbeSq0wu?= =?Windows-1252?Q?w0uJSHT2NGhH217DS13jpXSeKyMXm+sDPsWD4iJZ7L5QVSrHh6zg8Luv?= =?Windows-1252?Q?m4qCujbZWvZA53Wx4KQmAibjE5c7i6qlpbbyLGTgK43Gndq5hzMG5qu+?= =?Windows-1252?Q?c/K+Hr31NXJJuJo3YtesMceNYk4D0XpM9dsyOatpcO3pCS88VLjq543o?= =?Windows-1252?Q?XP/wcfUaQ1FaAV/4YZTL4Y3xekWXbo7M0JRANRWgj/yapaHIz8DBfkyC?= =?Windows-1252?Q?rq47aX1Ckrgdj3iStZ3UiHir8bwmPDRRSMxMtcpPHTnNY0JNi8zq2O0b?= =?Windows-1252?Q?l0wP8F0XZIkwjP+zlrA1MJm8xWwy6LYCyjV5ACmDActvsBuz4ASUwYHx?= =?Windows-1252?Q?vTWBuxHjU5mYhjf1WnVVdeQMTip1Zu+3TL+1UQ5OjZUuZ1y+U0BgT49X?= =?Windows-1252?Q?Aa1euNjxSSv3tyy+4hDfE4HW7xR1Shj6ElJaDUdQtgLur/C50qMJz2Tj?= =?Windows-1252?Q?+KTtqZAtYIt8GKyKVbY3ip2LyKP6sPQDo/IdIScg/pOvBBOC48m1hm4v?= =?Windows-1252?Q?6UJd2sT5gUzJBlPBnZ3MEyxCkeDVG96tZO6dcCWq6BL2DdRvgbroQYdW?= =?Windows-1252?Q?jn9EV4nPdriRxT+IzPlDO+vEI71KPC/KRJXhXm9Oq0fo8KDfd4KFWmjC?= =?Windows-1252?Q?RAd7Z6FThS+HBfdO020kMr2tFI5jUh/gtufuXPVIoiHD7zZZgp/q46lO?= =?Windows-1252?Q?LxVie3oTU0pAF2wjfm48pqy+mLMDwtIX/oBaCL7S5EwA80n3rjXRxoau?= =?Windows-1252?Q?vj6DyIf+K3PWppuCnHNnwynw9Qa8Gm1CIlk9sLGtwA6ElM9h6ANaHYVr?= =?Windows-1252?Q?UbJHYDKBvcJTpkBP9BqigRnrTYr1z8s+7tnr+ALHgZzyOwRAJtpJgkMX?= =?Windows-1252?Q?KX6JerJVbLYeGKsj8MP4nDwgfV10tROUn3xEnz/Om7S7zkuRwPoqGeY7?= =?Windows-1252?Q?lYHf0zrk0uyzFXar2rzc+8Tz3aUqR0eenughZm1n2gAEwPleXy6hJgCs?= =?Windows-1252?Q?64ro5ibd?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: af34d66e-aa1a-4176-fe83-08d8ff60959b X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2021 16:15:56.6675 (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: D2wFROJ16M7TdrvsirGl83usPTxglGmNh97ZesMUV4Yp1p4HEuLp7fdBxYVW82m77MQgK2NoJp0Clj6qE7NFbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB1027 X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, MSGID_FROM_MTA_HEADER, 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: Wed, 14 Apr 2021 16:15:59 -0000 Hi Corinna, This is a follow-up to https://cygwin.com/pipermail/cygwin/2021-April/248284.html I don't know if you've been following that thread, but two serious problems with datagram sockets (on the topic/af_unix branch) have shown up. 1. Writing will block until a connection to the peer's pipe can be made. In particular, if there are two consecutive writes with the same peer, the second one will block until the peer reads the first message. This happens because the peer's pipe is not available for the second connection until the peer disconnects the first connection. This is currently done in recvmsg, and I don't see a straightforward way to do it anywhere else. 2. There's no way for select to test whether a datagram socket is ready for writing. That's because we can't know whether a connection to a hypothetical peer's pipe will be possible. According to Stevens, the issue *should* be whether there's space in the socket's send buffer. But our sockets don't have a send buffer until they connect to a pipe. I think the solution to both problems is for Cygwin to maintain a send buffer for datagram sockets. Does that seem right, or do you have another idea? I haven't yet thought much about how to implement a send buffer, but I wanted to check with you before investing time in it. And if you agree that this is the way to go, I'd appreciate any implementation suggestions you might have. Thanks. Ken