On Wed, Aug 9, 2023 at 11:56 AM Corinna Vinschen <corinna-cyg...@cygwin.com> wrote: > > On Aug 9 11:12, Martin Wege via Cygwin wrote: > > On Wed, Aug 9, 2023 at 10:01 AM Corinna Vinschen > > <corinna-cyg...@cygwin.com> wrote: > > > > > > On Aug 8 21:38, Martin Wege via Cygwin wrote: > > > > On Tue, Aug 8, 2023 at 10:20 AM Corinna Vinschen > > > > <corinna-cyg...@cygwin.com> wrote: > > > > > > > > > > On Aug 7 23:14, Martin Wege via Cygwin wrote: > > > > > > Secondly, how are fifos, other device nodes and mknod implemented? > > > > > > You > > > > > > encode them as softlinks on ntfs? > > > > > > > > > > Not only on NTFS. FIFOs on the disk are always created as symlinks > > > > > with a special target string, recognized by Cygwin. No differece on > > > > > NFS. Microsoft NFSv3 has no way to specify creating a "real" FIFO > > > > > on the remote filesystem. It wouldn't make sense anyway, because > > > > > there's no way to share the FIFO across systems. > > > > > > > > So no Windows ioctl to do a mknod? > > > > > > Windows does not have provisions to store FIFOs on disk. The closest > > > you get in Windows are Windows named pipes, and those are stored > > > non-permanently in a special, temporary filesystem inside the native NT > > > namespace. Try this in Cygwin: > > > > > > $ cd /proc/sys/Device/NamedPipe/ <-- trailing slash! > > > $ ls -l > > > > > > FIFOs in the normal Windows filesystem are a Cygwin fake. > > > > Maybe make pipes in Cygwin symlinks to /proc/sys/Device/NamedPipe/? > > Why? Windows Named Pipes don't act like UNIX FIFOs.
OK, dumb-user-question: Where is the difference? > > > > > What does a Linux/FreeBSD FIFO file look like, if you export that > > > > filesystem via NFSv3, and mount it via the native Windows NFSv3 > > > > driver, and do a ls -l in Cygwin? > > > > > > It looks like a FIFO because MSFT NFSv3 exports the stat(2) info > > > verbatim: > > > > > > linux$ mkfifo blubb > > > > > > cygwin$ ls -l blubb > > > prw-r--r-- 1 corinna vinschen 0 Aug 8 10:22 blubb > > > > Will cygwin treat this as a FIFO? > > No. Cygwin FIFOs != Unix FIFOs. > > > Can cygwin set the 'p' flag via a magic ioctl? > > No. I don't understand your insistence to use FIFOs on NFS. There is > no value in that, because you can't share them between systems anyway. > > https://www.unix.com/unix-for-advanced-and-expert-users/10861-fifo-over-nfs.html > https://stackoverflow.com/questions/1038788/cant-write-to-fifo-file-mouted-via-nfs I'm aware of that. But think about clusters of machines, or similar setups where many machines from different architectures share one NFS filesystem, and cooperatively work on that. So for example a master machine sets up everything for the build client machines, including generating FIFOs, which shall be used locally on the client. But then... oopsie, client cannot use the FIFO prepared by the cluster master, because it doesn't create the FIFO mknod nodes the same way as other platforms. Most of the concerns are about portability. 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