delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2022/09/19/19:55:19

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D00FF3858D37
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=XTz6OWTgUpkuygIcfXZSIXjKe4HxVVlze62FeZLWtrNUXGc3kO9cMjOPpgPpBizxxddByyM3AHxFuOy5dtiFft6emSL5AOXtQRWHl3KFsQxUzIAF/t1HvBlfP347ewYNO1rrp2NVFZXEBCaZwrpgCIc+ZF0RQdCOVZRejK9TlAmXF9GXMSbrY4mvGoIhUs87OvngA4BT0RxvQhvyIej7+hgHtYXWaiaT7nWF7e3pdfkY9tycc7IXYnao4EvZLajYmucl7vKVmY3esWrUcy6pfoGg54UlStYGtVnXIcs5whJ+ArsNjwh46QSPKq2Ni/q7UhB9vuk49EJhBp3e0l7j8g==
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=Zn59K6RtDSqK5pC4R3B3OcKBd6z2t/ffGJPIVMnN+aI=;
b=KewKEtU/9Qj8F42kduDVh9AZtc0hGxXW5ZNGsbMGOaCBhqbZMf5+czZuUrAVcSV8RIWzjeVt6wiA9KajAmFLIwSvCJ63a+/1jTOUGyh+TCBzyfV8zo8g0UWayiMsW9Ievkh7JHJafk6Oe55nFSv999bi2k7uej0wS/4ogHNqJrmvBweeluvOUo+Dz+b0mnivCMLDPvOaKsphefNsxxoCRRpZCwAplB8FHZCa+QevYJIN1gpVhjKVozfR5xlnOOjgsMykyVVB3kyIwA6dFXfzUB46qKiWBbVvamoKbwHOMywH7CUgu2UAVlUKh8j20kJqFyxZo4wGfKA/KfzbGZ88Zg==
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=Zn59K6RtDSqK5pC4R3B3OcKBd6z2t/ffGJPIVMnN+aI=;
b=EHlSnjL8e90jOsto4/wcKL6gRjMBfuhpAEcY+6bfUGiPVmfJb2ofp/EPl6PsJP9EhhhdjWwVVsup6QyW+rnrAoEzlH8ZECSMmmmV4YdNppXWg9MehzaNDGy5LHIYFXQ8J3bqlJUmc2rzzaGhTuN/UFTrabCsRJ0cov/dWaw3en4=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=cornell.edu;
Message-ID: <9e531437-9e27-969f-517e-ec5607212c76@cornell.edu>
Date: Mon, 19 Sep 2022 19:54:11 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.2.2
Subject: Re: FIFO issues
To: cygwin AT cygwin DOT com
References: <a3084ca6-ea7b-535c-c0fb-2c29e20b7ddb AT cornell DOT edu>
<1b28b650-b588-e34f-919e-e75f5a01196f AT lyx DOT org>
From: Ken Brown <kbrown AT cornell DOT edu>
In-Reply-To: <1b28b650-b588-e34f-919e-e75f5a01196f@lyx.org>
X-ClientProxiedBy: BLAPR05CA0001.namprd05.prod.outlook.com
(2603:10b6:208:36e::6) To SA0PR04MB7322.namprd04.prod.outlook.com
(2603:10b6:806:e2::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA0PR04MB7322:EE_|DM5PR04MB1211:EE_
X-MS-Office365-Filtering-Correlation-Id: 9aefbffc-faf5-4b05-a808-08da9a9a41c0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: Slh2dspRpfyZeXeMCVKZrIeQFXn+hz+HCpBPXG7HGNjidnR+V5HF9qnX3EV3mx0ESyFTUCjPCuUkPlxhdWsBPv/sdZlzkjLRqzQ/AApzHe/7Ud4tbyZUqM6uVR6OFZShfRiBqQTVIkvCiySQfI8dzm+9W5BEZdfsoFAYu5CpB9u6S8O5NXiWFgZrURkxatupOUh6h79wPis1ALFLS+XTWoWwGbLGyRJuN0Hyxy7RPQfM+xCQ5NXttRa2rdKaUiPhu2Zop1UvUVJ/Or4ZUwbFPqsEk6C8kF8RXhokKic6QL0fO8PXl017gy+kTCPVqKg/lQuliIeJ0GK6BCa5teSozqp4nNH2MD+W7zDKow9znHLSxCDO2lXP62xX+b/d6zqKqjFkNPYk74BWnDlt10auJgsV/U8vbTXfkgLEFM/riaU99ZjqTdPwmHUA2MOIwJURVJmSaDpTv09ovk5ZuKfX/LGTTYVnhvbhJEFXFdBwIw46nmdy5NILa8ZeRHyjUlPWN+5JIY3BZy9PLrK9F0EsCeP1u+Qs6BIDH1DDuC1/4B7aSDp/2IBz0t9aQqm5YSCPzmjSR4ugsxWff/GeBQCMRpm8IqXLVXcgz6uXvkCnItMTYL0/2yr+V5m6dJLU97riL41WPPMqVXHJPPFOUABLAH+U0M+yoxX9zv/sueqptVxog32WdG1zSwrEkKnLa0SHG5EyUqlJgPPxuqJtmPHWrtaP4tHK68+2nFbmQavB4ofs+d86g3IUs9UoOAMHgbQTPinKYydHR7qX1Dpm21DHqjg+RWZW9DkomrnCmS2p4P7C21pkGJW3rleLBVyTBVdGfg2DCuU2Uuh3+u3eRVhgbjb8HgZJuxoy8ZwLoOmBxR4=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
IPV:NLI; SFV:NSPM; H:SA0PR04MB7322.namprd04.prod.outlook.com; PTR:; CAT:NONE;
SFS:(13230022)(4636009)(366004)(396003)(376002)(136003)(39860400002)(346002)(451199015)(53546011)(6506007)(7116003)(66574015)(2906002)(6512007)(2616005)(186003)(86362001)(31696002)(6486002)(966005)(786003)(316002)(6916009)(8676002)(41300700001)(66946007)(66556008)(66476007)(478600001)(36756003)(6666004)(75432002)(31686004)(3480700007)(8936002)(41320700001)(5660300002)(83380400001)(38100700002)(43740500002)(45980500001);
DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eTQwUjZWczFES1VNTmRNYWFVaEtSd3Y1L0RSQUk4b0x1OE5ORmhvYTkwbjUv?=
=?utf-8?B?Yzk1N0xWV2VOVFV5SnJHSWxXTG9UNVd5QTdUNDVXczE4bDVQdVViazhQVy9Z?=
=?utf-8?B?T3Z6dFhuUzdvRzRES2dPbC9qVkxBR3pQMG9aeEY0MEFHKys3TGZ6M1hYRE0r?=
=?utf-8?B?ODJscGxFWmVOajlUZ09UQUNOcmJYZDBVdGNmbTUzOEI0dzZiMWRwMUlBN21m?=
=?utf-8?B?S0ljZXVWeDlGdmdmd3YwckpjWnFZMklPQmFmb1RYYks3cnpyT3oySi8wWXBt?=
=?utf-8?B?QlpjZGxaSVAyRFVwRHM5SzZQbVRDVWZ0MDJVRjRDS3NMZzNTY0RQQnZCcXFY?=
=?utf-8?B?d3QxeEI2NVVIczdvWSs2ZytSTHNZd0FTaG9vMHJxWGZaQUlEcFJnTUUzRndD?=
=?utf-8?B?aWR3ZzF0bzZDd3ZsSkNPajRqNk5MQVlxOSsxanZWbzdTbHBlaWdRdk5scmIx?=
=?utf-8?B?b0VsSUpPNDkzbDRpTkFCbFJVdW8xMWNVY3VRVlhiRTdkOTZvdnYydVRzZkFK?=
=?utf-8?B?V3ZuWXI1cDQ4Wm4wR2hIQkNFZnJxbG8rSTVSazcyUG54cVJyNWNwYzZWaTh2?=
=?utf-8?B?Q3NRdk1ocmxFeWlsMlEzanMxWFNEZXh0SVBNUDQxZGVZYkFZVlFiTVc1K0pF?=
=?utf-8?B?c1hHRGlBR3E5NndTUWF0U2NKN3MvQ3dmQmVWbEM3TmN0T25ZNUlSNVo5L3lk?=
=?utf-8?B?ODVRQUd6TjNHdTJHeTlMTVdKdmhPdmtKaU1nZDMzUmJuQklaVmFVVVlhQWdE?=
=?utf-8?B?cDF0N0tpQmptQitmbThja1l1NVFnYTJKVDBBVlRJQTZNQ1k0ajBkTWFIT2Nr?=
=?utf-8?B?UWlyZDJ5MkE0Tk9IZEQzcGJ5YXp0eG1kMktma0JPQU9ucFh1cGpVeHhoRk11?=
=?utf-8?B?bjF4eWRUOW44YU9JUVpRTnpRakJmWUZrdDNtUXVqdllSSEhaS3ExbFhFditn?=
=?utf-8?B?eEpJSU42UTh0RXJsMTJaeTVHOUcvczlCMEw4VTJtdWNqaytpMk5iQzJrNDBM?=
=?utf-8?B?RkFqQ09TVzJBR2pQSyt2djBQSGpxUHRBbzM5Nlg3YU9CYlBmYzg5emowSXAx?=
=?utf-8?B?allyL1BscVdLdDB1SU1sSDZSUzkxZ1FrTjJzZ3hCVkhYN0NsWGpCMi9kOTNQ?=
=?utf-8?B?Q1lJOEZ2QlpSMDlYWmZvUlZ3bjk1dlhWc1o3dWNhTDVCQlYvSWN6MXJxZ21j?=
=?utf-8?B?N0wyOUZxZnVDQnl0L1RESGNxOUlnMFBBQlV4RERoZXRUSmRwU3VCbUJtSlI1?=
=?utf-8?B?ak8rWFhyaS9TR2Z6Z1VNR0prZkwzM3BHZHpQVHFISGc0RnRGUHF4Mmt6NHBJ?=
=?utf-8?B?SURaOVB4bWRkK0dzSlJSRHJZbnFTbVUrcEdnbm8vL0hoVDFNM3lTaUNQT3BC?=
=?utf-8?B?czZMUnBuaVFNNWRHekI5Y2puQjF1Z21pRGpaczU3UGk5RkdBNjRzWC9vNjFr?=
=?utf-8?B?cCt1ckpIaXNVOHFnNml1MXpqRGlZVS9sS2lONzZGZlIyOHNIVTBFNThja0Rr?=
=?utf-8?B?ZllaQXdaZjRySkFrYzNROTU0TzJ0VG5Bbk5NSlo2OGFURXptOWIrakdsWk1W?=
=?utf-8?B?YmlrL25VQXBSUXpHNnJpSWVSQWlZTzFTcmozMFI1Qy82d3FEdDVhaWx3N2Zp?=
=?utf-8?B?TW1XTFdDamhXOFk4S2RLSWhjYXFKc1F3OVR5M0Q2enl0V0FwTm1uQndEdW0w?=
=?utf-8?B?NU1pbkVKUnI0ZFBCSHZ6T1UrN0RJdWJkT1BNYkpBc2JCbmpvZkJjSzJhbGxQ?=
=?utf-8?B?RHdBNkFRSGx6NksweHkyMGxtTmk5NDJ5QnY5UVpEMEpvekFaNXNyRW5VcTI0?=
=?utf-8?B?QUZBemNBS1FlbVFDSmgzbmlaY3lQWDlCeERzTEZrWVJrWjh0SXRpbDAxRFJQ?=
=?utf-8?B?OEpDYnN3YVhMQUJ4V1Z3aFBtRjlnMmpwcU53cEtWQnYvbFV3bEFTc1VubUxt?=
=?utf-8?B?clBHc2EzMGVGRG1qclJZNkh1b0VLaHI4RlMydGQ1OEtqSjlWdW50Vmg1bHpw?=
=?utf-8?B?cHFWMVlZVlpmYUw5bE5YenIvSE5GUHp6ekdON3FTQU9YSXc1NGZFRThkSVZm?=
=?utf-8?B?b2RXODJhdVF0cFl1SWFJTElNRTJ1c1plNTJEVXU3V3N1TnNsdzhqYUdmaXJR?=
=?utf-8?B?Vm5sZWVxR3pZbS9XdDhaditQdWsxZEhQYk9heGdCRy80N0cyM2t6aURTbFpw?=
=?utf-8?Q?RY3DEntJEdHZR8nPa18e/r/BuoE7giXT+O0HuTjcxhp/?=
X-OriginatorOrg: cornell.edu
X-MS-Exchange-CrossTenant-Network-Message-Id: 9aefbffc-faf5-4b05-a808-08da9a9a41c0
X-MS-Exchange-CrossTenant-AuthSource: SA0PR04MB7322.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2022 23:54:14.7177 (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: 2wwIV8Ky/Ux118fQTEOMIhC3UZk2WeEJAyPlUoolbyz8uoTWEb0lvK3aIN/hM5fP7m4+ZSS3MYU3E+3uYhbYOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB1211
X-Spam-Status: No, score=-3.3 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.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

On 9/19/2022 6:05 PM, Enrico Forestieri wrote:
> Ken Brown wrote:
> 
>  > I did an internet search on this issue and found the following, which 
> describes the
> 
>  > situation we're discussing:
> 
>> https://stackoverflow.com/questions/14594508/fifo-pipe-is-always-readable-in-select 
> 
>  > According to that post, select on Linux will wait for a writer the first time 
> it's
> 
>  > called to check read readiness for a FIFO opened for reading with O_NONBLOCK 
> set.
> 
>  > But if the writer then closes the FIFO, subsequent calls to select will 
> always find
> 
>  > the FIFO read ready (and read will return 0). This behavior is not 
> documented, as far as
> 
>  > I can tell, and in fact it contradicts the existing documentation (both POSIX 
> and Linux).
> 
>  > So I don't think someone trying to write a portable program should rely on it.
> 
> 
> Please, note that this code was working on cygwin the way it works on linux 
> until some
> 
> time ago, maybe last year, I am not sure. I also found this stackoverflow 
> discussion:
> 
> https://stackoverflow.com/questions/28851639/select-with-non-blocking-reads
> 
> I tried the code also on Solaris and NetBSD and it works exactly as on linux, so 
> I think
> 
> it is portable.

Then I guess I'm wrong.  I'm really puzzled, because it seems that none of these 
platforms agree with POSIX, which says the following in its 'read' documentation:

     When attempting to read from an empty pipe or FIFO:

         If no process has the pipe open for writing, read() shall return 0 to
         indicate end-of-file.

It seems that there's an exception: If no process has ever had the FIFO open for 
writing since it was opened for reading, then the FIFO is not considered to be 
at end-of-file.

I'll look into fixing this.  But I'd be more confident about it if I could find 
some documentation of the existing behavior.

Ken

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019