X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,UNPARSEABLE_RELAY X-Spam-Check-By: sourceware.org X-Yahoo-SMTP: jenXL62swBAWhMTL3wnej93oaS0ClBQOAKs8jbEbx_o- Date: Wed, 9 Mar 2011 13:40:02 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: 1.7.8: write fails with EAGAIN Message-ID: <20110309184002.GA31347@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <4D72992D DOT 4090007 AT tweerlei DOT de> <20110307103951 DOT GL6393 AT calimero DOT vinschen DOT de> <4D77C5CB DOT 1040909 AT tweerlei DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D77C5CB.1040909@tweerlei.de> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: 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 Wed, Mar 09, 2011 at 07:24:11PM +0100, Robert Wruck wrote: >On Mon, Mar 07, 2011 at 11:39:51AM +0100, Corinna Vinschen wrote >>Hang on, you are saying that a *blocking* write(2) to a pipe returns >>with EAGAIN? Are you sure? It would be quite a surprise if git would >>actually do that. EAGAIN is only an expected error for non-blocking >>I/O, so applications which use blocking I/O usually only test for >>EINTR. > > >What I found out: > >In fhandler.cc, write_overlapped, there is the call to WriteFile: > > bool res = WriteFile (get_output_handle (), ptr, len, &nbytes, > get_overlapped ()); > >Surprisingly, this returns FALSE / nbytes = 0 / GetLastError = >ERROR_INVALID_HANDLE on WinXP if the number of bytes exceeds some >maximum and the handle refers to a pipe. Knock, knock. Is this thing on? http://cygwin.com/ml/cygwin/2011-03/msg00226.html http://cygwin.com/ml/cygwin/2011-03/msg00280.html -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple