delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/08/06/16:26:26

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Mon, 6 Aug 2001 13:55:40 -0400
From: Christopher Faylor <cgf AT redhat DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Rsync: found the problem
Message-ID: <20010806135540.A4749@redhat.com>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <610A1F4808E9D411888F0001023F6361A2EC AT MUCX> <3B46E116 DOT 20508 DOT C8E5ACB AT localhost> <20010707095422 DOT C7298 AT redhat DOT com> <3B499BF7 DOT 6D8FCABC AT hplb DOT hpl DOT hp DOT com> <20010709222226 DOT A16128 AT cygbert DOT vinschen DOT de> <3B6960FA DOT 8099DD72 AT hplb DOT hpl DOT hp DOT com> <3B6A943A DOT 10E925C8 AT hplb DOT hpl DOT hp DOT com> <20010803190741 DOT Z23782 AT cygbert DOT vinschen DOT de> <3B6E88FE DOT 70BF483 AT hplb DOT hpl DOT hp DOT com>
Mime-Version: 1.0
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019