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

Takashi Yano takashi.yano@nifty.ne.jp
Sun Nov 7 03:01:50 GMT 2021


On Sat, 6 Nov 2021 18:20:03 +0100
Corinna Vinschen wrote:
> 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?

All right. I will submit a patch shortly.

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

As I wrote in
https://cygwin.com/pipermail/cygwin/2021-March/247987.html
C# program seems to need not only FLAG_SYNCHRONOUS_IO_NONALERT
but also PIPE_TYPE_BYTE.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin-developers mailing list