HomeFreeBSD

Change the way we transfer links (again). The previous

Description

Change the way we transfer links (again). The previous
method avoided all race conditions, but suffered from
sometimes running out of buffer space if enough clients
were piled up at the same time.

Now, the client pushes the link descriptor, one end of a
socketpair() and the ppp version via sendmsg() at the
server. The server replies with a pid. The client then
transfers any link lock with uu_lock_txfr() and writev()s
the actual link contents. The socketpair is now the only
place we need to have large socket buffers and the bind()ed
socket can keep the default 4k buffer while still handling
around 90 racing clients.

Details

Provenance
Brian Somers <brian@FreeBSD.org>Authored on Nov 30 1999, 11:52 PM
Parents
rG3d1d43753175: dummy version of read_random() until the real random driver is ported.
Branches
Unknown
Tags
Unknown

Event Timeline