Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Mar 1997 09:59:06 +0100
From:      j@uriah.heep.sax.de (J Wunsch)
To:        jehamby@lightside.com (Jake Hamby)
Cc:        hackers@freebsd.org
Subject:   Re: My pipe is getting muddled?!
Message-ID:  <19970314095906.UD59927@uriah.heep.sax.de>
In-Reply-To: <199703140630.WAA01171@hamby1>; from Jake Hamby on Mar 13, 1997 22:30:27 -0800
References:  <199703140630.WAA01171@hamby1>

next in thread | previous in thread | raw e-mail | index | archive | help
As Jake Hamby wrote:

> The thing is, I've been trying to figure out (using truss), how
> Solaris manages to do a very similar thing in the X server with
> FIFO's, and I can't for the life of me figure out what crazy STREAMS
> nonsense they're using.  The nearest I can tell, there is some sort
> of multiplexor in there, because when a new client connects, the
> server does an ioctl(fd, I_RECVFD, &buf), and pulls a new file
> descriptor out of the stream, and communicates with the client on
> that.

Isn't this what the STREAMS people call cloning?  (I have no clues
about STREAMS, but i'm sure Terry will respond with a message not
below 200 lines very quickly. :-)

> Any light you can shed on this will be appreciated.  In the
> meantime, I'm going to start exploring UNIX-domain sockets, because
> they have the behavior I want.  But I vaguely remember hearing that
> the Solaris method is faster (well, at least for Solaris :).

I think local domain sockets are your best bet.  Their handling is
supposedly not much different from PF_INET sockets.  I think they
don't support OOB messages, but that's probably not what you're
looking for anyway.

Btw., somebody should symlink unix(4) to local(4).

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970314095906.UD59927>