Add additional comments to the top of the UNIX domain socket implementation
providing some high level pointers regarding the implementation.
This commit is contained in:
parent
4b19d603c4
commit
f23929fbc5
@ -31,6 +31,24 @@
|
||||
* From: @(#)uipc_usrreq.c 8.3 (Berkeley) 1/4/94
|
||||
*/
|
||||
|
||||
/*
|
||||
* UNIX Domain (Local) Sockets
|
||||
*
|
||||
* This is an implementation of UNIX (local) domain sockets. Each socket has
|
||||
* an associated struct unpcb (UNIX protocol control block). Stream sockets
|
||||
* may be connected to 0 or 1 other socket. Datagram sockets may be
|
||||
* connected to 0, 1, or many other sockets. Sockets may be created and
|
||||
* connected in pairs (socketpair(2)), or bound/connected to using the file
|
||||
* system name space. For most purposes, only the receive socket buffer is
|
||||
* used, as sending on one socket delivers directly to the receive socket
|
||||
* buffer of a second socket. The implementation is substantially
|
||||
* complicated by the fact that "ancillary data", such as file descriptors or
|
||||
* or credentials, may be passed across UNIX domain sockets. The potential
|
||||
* for passing UNIX domain sockets over other UNIX domain sockets requires
|
||||
* the implementation of a simple garbage collector to find and tear down
|
||||
* cycles of disconnected sockets.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user