cygrunsrv + sshd + rsync = 20 times too slow -- throttled?

Takashi Yano takashi.yano@nifty.ne.jp
Tue Sep 14 12:05:07 GMT 2021


On Tue, 14 Sep 2021 13:03:55 +0200
Corinna Vinschen wrote:
> On Sep 14 19:19, Takashi Yano wrote:
> > On Tue, 14 Sep 2021 18:56:23 +0900
> > Takashi Yano wrote:
> > > On Tue, 14 Sep 2021 11:03:39 +0200
> > > Corinna Vinschen wrote:
> > > > I don't quite follow the argument.  Blocking pipes are using
> > > > asynchronous IO, so they are in fact not blocking calls on the
> > > > OS level.  After calling NtWriteFile, the blocking variation
> > > > will go into the subsequent
> > > > 
> > > >   waitret = cygwait (evt, INFINITE, cw_cancel | cw_sig);
> > > > 
> > > > So, wouldn't you get the same effect by keeping the pipe in
> > > > FILE_PIPE_QUEUE_OPERATION mode and just add a timeout to the above
> > > > cygwait call and handle select_sem in a not yet existing WAIT_TIMEOUT
> > > > conditional?
> > > 
> > > Sounds reasonable. I revised the patches. Do you mean something like
> > > patch attached?
> > 
> > Revised a bit.
> 
> Pushed.  I added a bit of text to the commit message in terms of
> setting pipes to blocking when exec'ing a non-Cygwin tool.

Thanks. I found the handling of EPIPE and SIGPIPE in raw_write()
was not correct. Patch attached.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Cygwin-pipe-Fix-handling-of-EPIPE-and-SIGPIPE-in-raw.patch
Type: application/octet-stream
Size: 1287 bytes
Desc: not available
URL: <https://cygwin.com/pipermail/cygwin-developers/attachments/20210914/1a182a34/attachment.obj>


More information about the Cygwin-developers mailing list