X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 36434385E009
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1585410191;
	bh=EMMnQONDdVGAvBrKqPBJVuH4it/Cwjvy1QAVYZa6Gvo=;
	h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=FG9bmBWnBNpDeH1QPI/V0skdiNT9Oe5LkGXYSSEvk1SEv6si7NUQn6799CTzH06Vt
	 SxhT317vmrUZWt6Hbl+La/VdGR/jUAaSNzl6647MTxZ7aKegJkDdVO8ErtX28LkeYD
	 KnNlOlys07xX9iHZNnNhaHQW5qH98TytGvfKU5LY=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 758ED385E009
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eIOoN+T1YHVpHWVLJ0QJ5L9N6dYS4uVLIZHWZq4zPoXedIoDGSeYh1PT2BOVPrbaSHDajndHfooxA/JdIFNS3QjnLL94F/wNeeRxeXFl/A/52tiZj0DVQNR5Cu0eMaXKH9GCVuwdhzzsi+57P/JX9bfQoDmeMBl7BSM94+SYx0aZHGT8CdUUqWC+ca3qQU6IQ6n6xW8NbeA9KOEbBlXtJjujB0fxo0Lmeo6tpgaPQHUngA0nWh1Am5T+stiJ0nHJRgoN7rbiJXSqAw38WjlcuOKpuzS5ww0AdhtVZclmEzT+UYP9BVn4nC5HXaUVrOiW3idJwtzcBinmFooc4A0L4w==
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=WKq4qZkZd5RGJumnaHSCPIRZWRnUuH6mphrZqoC+/zI=;
 b=dHH3RuA1qKDdIiZWSVb4z29wZ56kgb+HpFRmmbfu5kJXVnrmElnVOrKZug9l6RLID4ZRc4d48ZNUc7fl69tOvYCSLgOK7j+/YySbb/wbQVZmCBghl5iPfLAbP9ryVVb2Gm01Ljz4MaNlqTMo8CGbm4zXrQWMOEnY+bP7eOd3Qazyn3t9sdH6tqSFsOSnt+BrFTH0SdT4Af+7fFiCn5/0UsDfCryZsMQeoRzir6Du+ZehHWu4EvEFRRrvI2MYZjfRyXx0cwI/WxfJz98t5PHVTRgXeriE3vvUZ4ypl07i/Kf6W3SnYa29yuJds2LkMcpGxlVMeYHq/tI95AhDp8yVBA==
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
Subject: Re: Sv: Sv: Sv: Sv: Named pipes and multiple writers
To: sten.kristian.ivarsson@gmail.com
References: <1b1401d60296$2769e690$763db3b0$@gmail.com>
 <716e2076-f607-454e-2723-937c3959e2a3@cornell.edu>
 <18be01d602ab$0bbfca30$233f5e90$@gmail.com>
 <35b43b59-6410-f21f-710c-385e39cbae0b@cornell.edu>
 <005201d603ba$2bc8ab20$835a0160$@gmail.com>
 <472d1df6-531a-ebd7-4ffa-583a06e270ff@cornell.edu>
 <ce4a4877-df77-3400-e8ac-16655b313757@cornell.edu>
 <b311d907-7376-5bc6-3216-7d2b96728dbc@cornell.edu>
 <00b901d60447$7ecb4c50$7c61e4f0$@gmail.com>
 <f8f5c9b4-9eb9-85b0-ab8f-44b3b2458e0b@cornell.edu>
 <00e001d604f9$d0aa0720$71fe1560$@gmail.com>
Message-ID: <8c6c5655-c162-8361-9f44-376bbd7cf114@cornell.edu>
Date: Sat, 28 Mar 2020 11:43:03 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
 Thunderbird/68.6.0
In-Reply-To: <00e001d604f9$d0aa0720$71fe1560$@gmail.com>
Content-Language: en-US
X-ClientProxiedBy: CH2PR08CA0003.namprd08.prod.outlook.com
 (2603:10b6:610:5a::13) To DM6PR04MB6075.namprd04.prod.outlook.com
 (2603:10b6:5:127::31)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
Received: from [192.168.0.17] (68.175.129.7) by
 CH2PR08CA0003.namprd08.prod.outlook.com (2603:10b6:610:5a::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2856.20 via Frontend Transport; Sat, 28 Mar 2020 15:43:05 +0000
X-Originating-IP: [68.175.129.7]
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9eed318d-4862-473d-01db-08d7d32eb4fa
X-MS-TrafficTypeDiagnostic: DM6PR04MB5434:
X-Microsoft-Antispam-PRVS: <DM6PR04MB54348714CE6215E26B7D5AC5D8CD0@DM6PR04MB5434.namprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-Forefront-PRVS: 03569407CC
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM6PR04MB6075.namprd04.prod.outlook.com; PTR:; CAT:NONE;
 SFTY:;
 SFS:(10019020)(4636009)(366004)(39860400002)(136003)(376002)(396003)(346002)(16576012)(36756003)(81166006)(86362001)(6486002)(26005)(956004)(31686004)(81156014)(186003)(16526019)(8676002)(8936002)(6916009)(53546011)(2616005)(75432002)(52116002)(478600001)(66556008)(66476007)(316002)(4326008)(66946007)(5660300002)(2906002)(786003)(31696002);
 DIR:OUT; SFP:1102; 
Received-SPF: None (protection.outlook.com: cornell.edu does not designate
 permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: W7hmyTO3npKvwxZwIAyJAHvK/wIscietSNYNiO+w5pqTKbQw+7ck1NY/3XPMwkVafOxoKAognyVKtlBmQVJBUmV4AIVhQToIdVfsW7FJpC7X/p8rrc0epgoABxZBQ/96gipKfBFAg1tvWEsrAm85DFiZpFFSJEA8P/PFjTHdp4EKFXd9DrMcSqdNEOXxgDiQKBzUjh5MLvDTaQGWnLLvyThT9PWZuv+yYPoRdMzqbQmvt/viQc6Ezu5Q6nqT0iTgZRigqTutJR56nCC/0H+ysz90yJJcFQugWX4E4aGj2solSXplXhyTXx0u+Mtx5ui97oo23EuHeioVWw/hdf8SRzrwJRv59Mj2AzFiCMSuEwi5fMZpZ9Z/bi5UUIZJlf5v1GaWpXxV2w8nFx4GU00YfjlAwS83SLPLxj3+o7uOw6wc6iSEJxMYguT31kX576GY
X-MS-Exchange-AntiSpam-MessageData: RFD8aPQnitxKo2GwsbbyMJSKdsKn9DSeo/U4fWasfwCsyz2dc43e/WKk0fqQNlv1XYslLOw+HMKlV3iDWrctrzWhv1xsVPYfNGKwFkUKt/MXpTs7FDV8JPf0PmcHgvJ6BXfR/DwtHDLgQL/pdy/PEg==
X-OriginatorOrg: cornell.edu
X-MS-Exchange-CrossTenant-Network-Message-Id: 9eed318d-4862-473d-01db-08d7d32eb4fa
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2020 15:43:05.6033 (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: EYO0GtXH33QZ6QOxYyTPcOvjLSAey5U4ywdQi/e8Zry6k678ybrR3mzbftxgGQd0O73y0iS/8y1v+GZGmyI9EA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR04MB5434
X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00, DKIM_INVALID,
 DKIM_SIGNED, KAM_DMARC_STATUS, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE,
 RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS,
 TXREP autolearn=no 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@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <http://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <http://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Ken Brown via Cygwin <cygwin@cygwin.com>
Reply-To: Ken Brown <kbrown@cornell.edu>
Cc: "'cygwin'" <cygwin@cygwin.com>
Content-Type: text/plain; charset="windows-1252"; Format="flowed"
Errors-To: cygwin-bounces@cygwin.com
Sender: "Cygwin" <cygwin-bounces@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id 02SFhcJL018850

On 3/28/2020 8:10 AM, sten.kristian.ivarsson@gmail.com wrote:
>> On 3/27/2020 10:53 AM, sten.kristian.ivarsson@gmail.com wrote:
>>>> On 3/26/2020 7:19 PM, Ken Brown via Cygwin wrote:
>>>>> On 3/26/2020 6:39 PM, Ken Brown via Cygwin wrote:
>>>>>> On 3/26/2020 6:01 PM, sten.kristian.ivarsson@gmail.com wrote:
>>>>>>> The ENIXIO occurs when parallel child-processes simultaneously
>>>>>>> using O_NONBLOCK opening the descriptor.
>>>>>>
>>>>>> This is consistent with my guess that the error is generated by
>>>>>> fhandler_fifo::wait.  I have a feeling that read_ready should have
>>>>>> been created as a manual-reset event, and that more care is needed
>>>>>> to make sure it's set when it should be.
>>>>>>
>>>>>>> I could provide a code-snippet
>>>>>>> to reproduce it if wanted ?
>>>>>>
>>>>>> Yes, please!
>>>>>
>>>>> That might not be necessary.  If you're able to build the git repo
>>>>> master branch, please try the attached patch.
>>>
>>>> Here's a better patch.
>>>
>>>
>>> I finally succeeded to build latest master (make is not my favourite
>>> tool) and added the patch, but still no success in my little
>>> test-program (see
>>> attachment) when creating a write-file-descriptor with O_NONBLOCK
> 
>> Your test program fails for me on Linux too.  Here's the output from one
> run:
> 
> You're right. That was extremely careless of me to not test this in Linux
> first :-)

No problem.

> I can assure that we have a use case that works on Linux but not in Cygwin,
> but it seems like I failed to narrow it down in the wrong way
> 
> I'll try to rearrange my code (that works in Linux) to mimic our application
> but in a simple way (I'll be back)

OK, I'll be waiting for you.  BTW, if it's not too hard to write your test case 
in plain C, or at least less modern C++, that would simplify things for me.  For 
example, your pipe.cpp failed to compile on one Linux machine I wanted to test 
it on, presumably because that machine had an older C++ compiler.

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

