[PATCH v8] Cygwin: pipe: Switch pipe mode to blocking mode by default

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Oct 28 12:00:01 GMT 2024


On Oct 28 20:30, Takashi Yano wrote:
> > > Please try:
> > > $ ./a.out `expr 65536 - 4096 + 543` 1
> > > pipe capacity: 65536
> > > write: writable 1, 61983 3553
> > > write: writable 0, 543 3010
> > > write: writable 0, 543 2467
> > > write: writable 0, 543 1924
> > > write: writable 0, 543 1381
> > > write: writable 0, 543 838
> > > write: writable 0, 543 295
> > > write: writable 0, -1 / Resource temporarily unavailable
> 
> The above case was result in Linux environment.
> 
> > > $ ./a.out `expr 65536 - 4096 + 1234` 1
> > > pipe capacity: 65536
> > > write: writable 1, 62674 2862
> > > write: writable 0, 1234 1628
> > > write: writable 0, 1234 394
> > > write: writable 0, -1 / Resource temporarily unavailable
> 
> This also is the result in Linux environment.

Ah, ok.  It's a result of the computations for reusing buffer pages vs.
skipping to new ones to allow as much aligned writes as possible.  of
comments.  We cant't follow this behaviour.


Corinna


More information about the Cygwin-patches mailing list