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

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Oct 28 12:03:07 GMT 2024


On Oct 28 13:00, Corinna Vinschen wrote:
> 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.

Sorry, copy/paste leftover, just ignore.

> We cant't follow this behaviour.
> 
> 
> Corinna


More information about the Cygwin-patches mailing list