Date: Tue, 9 Feb 1999 15:10:52 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Terry Lambert <tlambert@primenet.com> Cc: kuku@gilberto.physik.RWTH-Aachen.DE (Christoph Kukulies), hackers@FreeBSD.ORG Subject: Re: portability of shm, mmap, pipes and socket IPC Message-ID: <199902092310.PAA61722@apollo.backplane.com> References: <199902092246.PAA10658@usr02.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
:FreeBSD does not select writeable on sockets. Sockets can be
: written if there are mbuf's available, and mbuf's can
: become unavailable asynchronously between the select
: coming true and the subsequent write. Select for
: write is generally an artifact of porting a winsock
: program to a UNIX system.
Huh? Sure it does. The availability of mbufs in the memory pool
has little to do with select()ing a socket for write. mbuf exhaustion
is a rather serious error.
:> mmap - stable? limitations?
:
:FreeBSD has a unified vm and buffer cache. In theory, you do not
: need to call msync(2), ever, on such a system. However,
: there are a number of coherency bugs that make it necessary
: to call it (mostly in INN-type situations, where the file is
: being extended while it is mapped).
What coherency bugs? As far as I know, extending a mmap()'d file
works just fine. You cannot *write* into the mmap()'d area beyond
the end of a file until you ftruncate() the file larger, but that is
true on all implementations that I know of. It is also appropriate -
the validity of the mmap()'d data only extends to the logical end of
file.
:The overall size of the shared memory segment is limited to that
: which can fit in the kernels virtual address space; this
: artificially restricts the maximum size.
:FreeBSD semaphores are inadequately resource tracked in _exit().
All semaphores are inadequately resource tracked in _exit(), it's a
problem inherited from the SYSV implementation.
: Terry Lambert
: terry@lambert.org
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902092310.PAA61722>
