Sv: Sv: Named pipes and multiple writers

sten.kristian.ivarsson@gmail.com sten.kristian.ivarsson@gmail.com
Thu Mar 26 22:01:58 GMT 2020


>> [snip]
>>>> As far as I can see, reading through history, this have been a known 
>>>> issue for quite some time, but it seems like there have been some 
>>>> attempts to solve it, e.g. in the branch topic/fifo (by Ken Brown)
>> 
>> [snip]
>>>> Does anyone have any knowledge about if this (topic/fifo branch) is 
>>>> working and/or if it is somehow planned to make it into the master 
>>>> branch and end up in a future release ?
>> 
>>> That branch is obsolete.  Support for multiple writers was added to 
>>> Cygwin
>> as of release 3.1.0.
>> 
>> Ok, thanks, but we're running 3.1.4 (and tested 3.1.5) but do still 
>> have problems (experiencing ENXIO (No such device or address)) but 
>> actually (as far as we see) with the 3:rd writer ?
>> 
>> We need to investigate the issue more thoroughly and might get back 
>> when we have more knowledge

>Does the ENXIO come from fhandler_fifo::wait?  If so, it's quite possible
that there's a bug involving read_ready in my code.

Our application is a bit complex and I have now narrowed it down

The ENIXIO occurs when parallel child-processes simultaneously using
O_NONBLOCK opening the descriptor. We're sometimes opening it blocking and
sometimes non-blocking and it seems like when the 2:nd non-blocking process
tries to open it gets ENIXIO. The child process open and closes the
fifo-descriptor for writing multiple times. I could provide a code-snippet
to reproduce it if wanted ?

Tnx for showing interest btw

Kristian

>Ken



More information about the Cygwin mailing list