Clearing O_NONBLOCK from a pipe may lose data

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Feb 24 19:55:00 GMT 2015


On Feb 24 16:16, Lasse Collin wrote:
> On 2015-02-24 Corinna Vinschen wrote:
> > On Feb 24 08:16, Thomas Wolff wrote:
> > > Am 23.02.2015 um 13:23 schrieb Corinna Vinschen:
> > > >On Feb 23 11:56, Corinna Vinschen wrote:
> > > >>On Feb 22 22:07, Lasse Collin wrote:
> > > >>>Alternative idea: Would there be a significant downside if Cygwin
> > > >>>remembered if non-blocking mode was enabled at some point and
> > > >>>close() would use that flag instead of the current (non)blocking
> > > >>>status to determine if the background thread hack should be used?
> > > >>No, that should be doable with very minor effort.
> > > >That's still an option, of course.
> > > I think that sounds like a solution.
> > 
> > I applied a matching patch for this:
> > 
> > https://cygwin.com/ml/cygwin-cvs/2015-q1/msg00079.html
> > 
> > Please give it a try.
> 
> I applied the patches to the snapshot 20150223 and it works now. Thank
> you.

Thanks for testing!

> I'm going to release xz 5.2.1 in a day or two. Should that release have
> a workaround for this Cygwin bug? The workaround would avoid using
> O_NONBLOCK on stdout. It adds a race condition to signal handling in xz
> but it's usually a very minor issue (xz 5.0.x has the race and no one
> has complained). On the other hand, the fixes to the threading bugs are
> somewhat important for xz too, so maybe I should just add a note that
> xz 5.2.x isn't safe on Cygwin yet but will be in the (somewhat) near
> future?

Whatever you prefer.  I think it's fine to point to using at least Cygwin
1.7.35, but if you can live with updating to some 5.2.2 after 1.7.35 
comes out, the workaround in 5.2.1 would be nice.

I'm still working on performance improvements in the account handling,
but when that's settled, I'm going for 1.7.35.  Let's say a week or two.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20150224/5098d0a2/attachment.sig>


More information about the Cygwin mailing list