Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Mon, 3 Jun 2002 16:59:31 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Duplicating Unix Domain Sockets Message-ID: <20020603205931.GC28699@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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/