Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@sources.redhat.com Delivered-To: mailing list cygwin@sources.redhat.com Date: Mon, 6 Aug 2001 13:55:40 -0400 From: Christopher Faylor To: cygwin@cygwin.com Subject: Re: Rsync: found the problem Message-ID: <20010806135540.A4749@redhat.com> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <610A1F4808E9D411888F0001023F6361A2EC@MUCX> <3B46E116.20508.C8E5ACB@localhost> <20010707095422.C7298@redhat.com> <3B499BF7.6D8FCABC@hplb.hpl.hp.com> <20010709222226.A16128@cygbert.vinschen.de> <3B6960FA.8099DD72@hplb.hpl.hp.com> <3B6A943A.10E925C8@hplb.hpl.hp.com> <20010803190741.Z23782@cygbert.vinschen.de> <3B6E88FE.70BF483@hplb.hpl.hp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: <3B6E88FE.70BF483@hplb.hpl.hp.com>; from bilpet@hplb.hpl.hp.com on Mon, Aug 06, 2001 at 01:09:34PM +0100 On Mon, Aug 06, 2001 at 01:09:34PM +0100, Bill Petheram wrote: > >Is it a bug or a feature? > >Internally cygwin uses a flag OLD_O_NDELAY with the value 0x0004. This >is used for backward compatibility (according to the comment). There is >code to check that if either the OLD_O_NDELAY flag is set or if O_NDELAY >(0x4000) is set they both get set. > >So when rsync does a GETFL it does the 'normal':- val &= ~NONBLOCK_FLAG >to set to blocking. Unfortunately the OLD_O_NDELAY bit is still set so >the when the SETFL is called is sets the O_FNDELAY bit as well. >Obviously this means that once a socket is set to non-blocking mode it >cannot be reset using this method. Note that the OLD_O_NDELAY is not >defined in the installed header files, only internally to cygwin. > >I think that it is not possible to run old executables with newer DLLs, >so may be the OLD_O_NDELAY flag can be removed. Thanks for the analysis. It *is* possible to run old executables with newer DLLs. This is a long-stated goal for Cygwin. I've discussed a potential fix for this problem with Corinna and I'll be checking in a patch shortly. Thanks for narrowing the problem down. It helps a lot. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/