On Wed, Aug 23, 2023 at 5:44 PM Jeffrey Altman via Cygwin <cygwin@cygwin.com> wrote: > > On 8/22/2023 10:52 AM, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via Cygwin > wrote: > >> FIFOs which don't make *any* sense > >> ... FWIW, a remote NFS fileystem. > > I got an impression that the OP is trying to deploy something (maybe the > > entire Cygwin) onto an NFS share. So the named FIFO "file" is also created > > in there. > > > > It's pointless to assume that the FIFO can be used as a communication > > device between the hosts that can mount the share, but it can be quite > > feasible to envision a scenario, in which the same host opens the FIFO > > located on the share from two processes and establish the communication > > using that special "file" (which is basically a special data-less i-node). > > I've been following this thread with quite a bit of curiosity. For those > who do not know me, I'm the lead developer of the AFS filesystem on > Windows. There have been requests for more than two decades for AFS > clients to add support for locally created pipe files because AFS > volumes are often used as home directories (even on Windows) and so many > applications allocate a pipe in the home directory as a method of > inter-process communication or a lock. The problem is that even if the > intended usage of the file is entirely local, the directory object, the > directory entry and the allocated inode (or equivalent) is network > visible.
Who cares? It is up to the user, script or application author to do 'the right thing(tm)'. > > What happens when the user executes two copies of an > application such as PyCharm on two separate machines sharing the same > home directory? Does the directory entry and inode get reused on startup > and/or deleted on exit? How does that impact the process instance on the > other machine? The conclusion I came to long ago is that if pipes are to > be implemented in a network file system namespace then the pipes must be > fully functional network pipes. In just about all cases applications can > be configured to use a non-default paths. In my opinion they should not > be placed in a shared file system. Oh my god. Please have this debate at the Austin Group. They do the POSIX standard. We're here about implementing&using the POSIX standard. We only want that mkfifo() works with Cygwin on a NFS filesystem, as specified in https://pubs.opengroup.org/onlinepubs/009696799/functions/mkfifo.html My intention was not to invent something new. Just code using mkfifo, and scripts using /usr/bin/mkfifo, should work on NFS. On UNIX&Linux this works. Have a look at https://cygwin.com/pipermail/cygwin/2023-August/254266.html, sounds like there is a feasible way to implement this. Thanks, Martin -- 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