setup will have to wait :[

Robert Collins
Sun Mar 25 13:47:00 GMT 2001

----- Original Message -----
From: "Egor Duda" <>
Subject: Re: setup will have to wait :[

> Hi!
> Saturday, 24 March, 2001 Robert Collins
> RC> 1. Do "non-unix" apps understand the concept of a FIFO file?
> directly -- not, but they can possibly inherit, say, stdout handle
> from parent cygwin process, and it can possibly be a handle of fifo.
> For example, you run
> "sh -c ./ >fifo-to-script-log-processor"
> and '' contains non-cygwin apps

Right, so _how do we pass the fd_ to the child process? I'll look into
spawn and fork. Worst case though: fifos are cygwin only. Best case I
find some way of tricking the OS into loading up the cygwin code and
writing "through it". Hmm I wonder if an IFS could do this (How much
work did I think this was going to be ?!).

> RC> I know that cygwin already has named pipe support
> ? what do you mean by this? do you mean native calls such as
> CreateNamedPipe () etc. or something else?

>From comments about sshd and cvs on 9x and the syncronisation problems -
so I may be off base. I haven't checked the code. Implementing this via
Named Pipes will be just as tricky as far as non-cygwin programs though
won't it?.

> RC> so is there any reason to try and make FIFO support interoperate
> RC> (and what should it appear as?)
> RC> 2. Do you have a reference? So far I've found lots of sys/stat.h
> RC> files :].  If you don't are writes and reads atomic?
> no, at least i don't think that they must be.
> RC>  Do all readers recieve all the same data from each writer -
> no, every byte written to fifo is read by only one reader, though it
> can be anyone of them.
> RC> or do they pair off? (That sounds rather dirty I know :])
> i generally use linux and freebsd as reference. just logon to the
> nearest linux box and try :) i've also found it quite helpful to look
> into linux and/or bsd kernel sources to understand how things work.
> Egor.   ICQ 5165414 FidoNet

Well I've only got an openBSD boxen handy. I'll write up a four way test
script and see what it does.


More information about the Cygwin-developers mailing list