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

Ken Brown kbrown@cornell.edu
Wed Sep 15 16:22:58 GMT 2021


One other small detail:

diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index 566cf66d6..cdb213a42 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -645,7 +645,7 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, 
bool writing)
             return 1; /* We cannot know actual write pipe space. */
           DWORD nbytes_in_pipe;
           if (!PeekNamedPipe (query_hdl, NULL, 0, NULL, &nbytes_in_pipe, NULL))
-           return 1;
+           return -1;
           fpli.WriteQuotaAvailable = fpli.InboundQuota - nbytes_in_pipe;
         }
        if (fpli.WriteQuotaAvailable > 0)

Having noticed that, I checked the callers of pipe_data_available with writing 
== true, and they don't check for a return of -1.  So I think I need to fix that 
too.

Ken


More information about the Cygwin-developers mailing list