Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT cygwin DOT com Delivered-To: mailing list cygwin-developers AT cygwin DOT com Date: Mon, 15 Jul 2002 14:10:34 +0200 From: Corinna Vinschen To: cygwin-developers AT cygwin DOT com Subject: Re: How about this for passing file descriptors? Message-ID: <20020715141034.G6932@cygbert.vinschen.de> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com References: <20020715103127 DOT A6932 AT cygbert DOT vinschen DOT de> <006b01c22be7$15deadf0$1800a8c0 AT LAPTOP> <20020715131019 DOT C17700 AT cygbert DOT vinschen DOT de> <01b701c22bf1$d08e88f0$1800a8c0 AT LAPTOP> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01b701c22bf1$d08e88f0$1800a8c0@LAPTOP> User-Agent: Mutt/1.3.22.1i On Mon, Jul 15, 2002 at 09:21:50PM +1000, Robert Collins wrote: > > ----- Original Message ----- > From: "Corinna Vinschen" > To: > Sent: Monday, July 15, 2002 9:10 PM > > > Perhaps that's not even needed. We already have a couple of methods > > which are involved when duplicating handles between processes, namely > > dup(), fixup_before_fork(), fixup_after_fork(), fixup_after_exec(). > > Hmm, the difference being that these methods are all synchronous. generic > passing of file descriptors is not synchronous. > > > Basically they are only restricted in their functionality since they > > only get the *parent* process handle. If we generalize this stuff > > to get a *source* and a *destination* process handle instead, the > > whole stuff would be available for situations besides fork/exec... > > Remember that we don't know the destination process handle for this > scenario, all we know is that we need to prepare the fd for *some* process > to recieve. That's not entirly true. The sendmsg/recvmsg code needs to send the pid to the other process and one of the processes has to open the other process anyway so the handles are always known before the duplication takes place. It's just not possible otherwise. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc.