Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Date: Mon, 3 Jun 2002 16:59:31 -0400
From: Christopher Faylor <cgf-noreply@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Duplicating Unix Domain Sockets
Message-ID: <20020603205931.GC28699@redhat.com>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <Pine.GSO.4.30L.0206031633540.3061-100000@department-of-alchemy.mit.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Pine.GSO.4.30L.0206031633540.3061-100000@department-of-alchemy.mit.edu>
User-Agent: Mutt/1.3.23.1i

On Mon, Jun 03, 2002 at 04:47:49PM -0400, David E Euresti wrote:
>Allright.  So I have two solutions.
>(And tell me if I should direct this to the folks at cygwin-devel)
>
>#1
>Make cygwin be able to implement the Ancillary data as in 4.3+BSD as
>described in section 15.3.3 in Advanced Programming in the Unix
>Environment.
>
>To implement this, I would tag all messages sent on Unix domain sockets
>with a tag like this:
>struct tag {
>	int adatalen; // Length of ancillary data
>	int rdatalen; // Length of real data
>}
>
>Then when you receive it your first read the tag and if there is ancillary
>data read it and do what you need to do (convert the info into an fd) and
>then read the rdatalen.  If there is more rdatalen than the length of
>buffer sent to you, you return what you can, and remember how much is
>left.
>
>This is obviously a big task, and opinions would be quite welcome.

Sounds like it would slow down every UNIX domain socket read.

I'll let Egor comment on this, though.  It's his code.

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/

