X-Spam-Check-By: sourceware.org Date: Thu, 29 Jun 2006 21:39:16 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: rsync over ssh hang issue understood Message-ID: <20060630013916.GA5859@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <44A348D1 DOT 6070908 AT netbauds DOT net> <44A4666A DOT 6020108 AT netbauds DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <44A4666A.6020108@netbauds.net> User-Agent: Mutt/1.5.11 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Fri, Jun 30, 2006 at 12:46:50AM +0100, Darryl Miles wrote: >Darryl Miles wrote: >>Linux<>CGYWIN where linux is client and pulling data down hangs very >>quickly after connection and getting the first large file (> 256Kb) to >>download. > >The problem goes away if the WIN32 side is Win2003. Its only Win2k >which I am seeing problems with. > >I have looked through the directory of src/winsup/cygwin and there is >already stuff creating threads within the context of select.cc for >"mailslot" support. > >There is already a wake up mechanism in place inside cygwin_select(). > >Initially I can drop the idea of an idle list from the design and go >with a new thread per unwanted blocked IO when the IO is expected to be >non-blocking by the app. This is enough to prove the fix. For the record, I'm not wild about scrapping the existing (but currently turned off) code in cygwin that is supposed to fix this. Using the NT api was supposed to allow us to do what we wanted with no half-measures. I'd rather see someone finish that, or at least prove that it doesn't work, before scrapping it and move on to something else. The idea of using threads for pipe writing has been bounced around for a long time. It doesn't solve the select problem if there are multiple processes writing to one pipe. That is not a completely unusual event, unfortunately. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/