Rewriting the FIFO code

Corinna Vinschen corinna-cygwin@cygwin.com
Sat Mar 23 10:23:00 GMT 2019


On Mar 22 19:27, Ken Brown wrote:
> On 2/28/2019 5:23 PM, Corinna Vinschen wrote:
> > For consistency it would be nice, but no, you don't have to use
> > NT function.  PIPE_NOWAIT is also available via Win32 API.
> 
> I've finally finished a first pass at the FIFO code.  I ended up
> finding it more convenient to use the NT API and to initially create
> pipes in blocking mode, so that I could easily wait for a client to
> connect.  After there's a connection, I set the pipes non-blocking.

Sure, if that helps.

> I've tested the code by running Kerrisk's server/client programs cited
> in https://cygwin.com/ml/cygwin/2015-03/msg00047.html.  I've also run
> the test case that I posted in
> http://www.cygwin.org/ml/cygwin/2015-12/msg00311.html.
> 
> There's still a lot more testing that needs to be done, and I haven't
> thought at all about the duplexer case yet, but I think I've done
> enough that a review would be helpful when you get the time.  I'll
> send the patches to cygwin-patches shortly.

Seen them, thank you.  Not sure how much time I have over the weekend,
but a first scan of your patch looks good.

> Once we finish the review/revise cycle, it might make sense to commit
> the patches to a topic/fifo branch for further work.  I don't think
> it's ready for master yet.

Sounds like a plan!

Here's a question: Even if you think this isn't ready for prime time,
how much of the *old* FIFO implementation does your new code cover?
90%?  100%?  If the code isn't quite finished from your POV, but it
already covers all scenarios the old code (barely) worked, what
speaks against making this a 3.1?


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-developers/attachments/20190323/410c1a4b/attachment.sig>


More information about the Cygwin-developers mailing list