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:
> > > > On Mon, Aug 7, 2023 at 9:14 PM Corinna Vinschen
> > > > <corinna-cyg...@cygwin.com> wrote:
> > > > >
> > > > > On Aug  7 12:26, Brian Inglis via Cygwin wrote:
> > > > > > On 2023-08-07 08:42, Martin Wege via Cygwin wrote:
> > > > > > > We get a weird mkfifo failure in Cygwin on NTFS:
> > > > > > >
> > > > > > > /usr/bin/mkfifo -m 600 x.fifo
> > > > > > > mkfifo: cannot set permissions of 'x.fifo': Not a directory
> > > > > >
> > > > > > This error is also reproducible with default fifo permissions 666 or
> > > > > > anything else, and appears to be returned by gen_full_path_at() in
> > > > > > syscalls.cc when called with a fifo:
> > > > >
> > > > > This will be fixed in 3.4.8,
> > > >
> > > > Thank you
> > > >
> > > > > see
> > > > > https://cygwin.com/git/?p=newlib-cygwin.git;a=commit;h=b56b4d7fd85b
> > > >
> > > > First, Can I download a beta of  3.4.8, or any other version with that
> > > > fix? It's pretty urgent
> > >
> > > You can install a test release of Cygwin, simply by using the setup tool
> > > These test releases are always created from the git main branch, though,
> > > so they are always test releases of the next major version, currently
> > > 3.5.0.
> >
> > Where can I download the Setup.exe tool for those test releases?
>
> You already have it: https://cygwin.com/install.html

Thanks

>
> > > > 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/?

> > 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?

Can cygwin set the 'p' flag via a magic ioctl?

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

Reply via email to