3.3.0: Possible regression in cygwin DLL (Win10); fixed in snapshot

Corinna Vinschen corinna-cygwin@cygwin.com
Sat Nov 6 17:20:03 GMT 2021


On Nov  6 23:13, Takashi Yano wrote:
> On Sat, 6 Nov 2021 13:02:50 +0100
> Corinna Vinschen wrote:
> > On Nov  6 12:42, Corinna Vinschen wrote:
> > > On Nov  6 15:10, Takashi Yano wrote:
> > > > P.S.
> > > > Unfortunately, these solutions do not resolve the issue
> > > > which is another issue with C# program:
> > > > https://cygwin.com/pipermail/cygwin/2021-March/247987.html
> > > > This still needs FILE_SYNCHRONOUS_IO_NONALERT flag.
> > > 
> > > If we want to add FILE_SYNCHRONOUS_IO_NONALERT, this would have to be
> > > solved by running NtReadFile/NtWriteFile synchronously in a thread,
> > > started on every invocation of raw_read/raw_write.  raw_read/raw_write
> > > would then call cygwait on the thread object.  To break on signal or
> > > thread cancallation events, it would have to call CancelSynchronousIo.
> > > That's certainly doable.
> > 
> > That would be something for 3.4, though.  For 3.3.2, we should just
> > fix the other problem.  Ignoring 0 byte packets is probably the most
> > easy way out.
> > 
> > With this fixed, I think I should release 3.3.2 soon.  We can have as
> > much 3.3 bugfix releases as we want, anyway.
> 
> We are not sure at this time if the byte pipe causes some problems.
> 
> So, I think it is better to adopt the idea of ignoring 0 byte
> messages for the time being,

Sure enough.  Are you going to send the patch to cygwin-patches?

> and take some time to consider
> adopting the byte pipe and enabling FLAG_SYNCHRONOUS_IO_NONALERT.

We probably don't really need byte pipe, using a synchroneous pipe
and threading should already do the trick, no?


Corinna


More information about the Cygwin-developers mailing list