Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@sources.redhat.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@sources.redhat.com>
List-Help: <mailto:cygwin-help@sources.redhat.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@sources.redhat.com
Delivered-To: mailing list cygwin@sources.redhat.com
Date: Thu, 20 Sep 2001 13:35:57 +0200
From: Corinna Vinschen <cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: fcntl(F_SETFD) on a file or socket handle
Message-ID: <20010920133557.G4194@cygbert.vinschen.de>
Mail-Followup-To: cygwin@cygwin.com
References: <077d01c1400e$2d92cdc0$d2823bd5@dmitry> <20010918101238.H22900@cygbert.vinschen.de> <008501c14183$d9eddc10$d2823bd5@dmitry> <20010920090219.A4194@cygbert.vinschen.de> <003601c141a8$8adc7760$d2823bd5@dmitry> <20010920100907.D4194@cygbert.vinschen.de> <001101c141b1$f3929010$d2823bd5@dmitry> <20010920105800.E4194@cygbert.vinschen.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <20010920105800.E4194@cygbert.vinschen.de>; from cygwin@cygwin.com on Thu, Sep 20, 2001 at 10:58:00AM +0200

On Thu, Sep 20, 2001 at 10:58:00AM +0200, Corinna Vinschen wrote:
> On Thu, Sep 20, 2001 at 05:53:17PM +0900, Dmitry Timoshkov wrote:
> > "Corinna Vinschen" <cygwin@cygwin.com> wrote:
> > 
> > [skipped]
> > 
> > > > I see that fhandler_socket::fcntl() calls fhandler_base::fcntl() in
> > > > all cases different from F_SETFL. Perhaps my understanding of things
> > > > in C++ is not enough (I'm an old hand plain C programmer).
> > > 
> > > set_close_on_exec() is a virtual method which means, the called
> > > method is dependent of the actual class of the object which calls
> > > it.
> > 
> > Thanks for clarification.
> > 
> > > Did you get the sources of Cygwin via CVS?  If so, could
> > > you please check if my just checked in patch works for you?
> > 
> > I don't get Cygwin sources from CVS, but I have looked into your patch
> > after it has appeared in CVS. Using SetHandleInformation() on NT instead
> > of DuplicateHandle()/CloseHandle() pair is much better IMO, and should
> > not cause any side effects.
> 
> Yeah but even if the patch helps for NT, it wouldn't solve it
> for 9x.  Sigh.

I have checked in another change to sockets now which changes the
behavior so that socket handles will not be Dup'd/Closed anymore.
Instead, after an exec they will be closed when close_on_exec is
set.

Could you please test it as soon as possible?

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.

--
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/

