freebsd-skq/lib
John Baldwin 8e38aeff17 Add a new file descriptor type for IPC shared memory objects and use it to
implement shm_open(2) and shm_unlink(2) in the kernel:
- Each shared memory file descriptor is associated with a swap-backed vm
  object which provides the backing store.  Each descriptor starts off with
  a size of zero, but the size can be altered via ftruncate(2).  The shared
  memory file descriptors also support fstat(2).  read(2), write(2),
  ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared
  memory file descriptors.
- shm_open(2) and shm_unlink(2) are now implemented as system calls that
  manage shared memory file descriptors.  The virtual namespace that maps
  pathnames to shared memory file descriptors is implemented as a hash
  table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash
  of the pathname.
- As an extension, the constant 'SHM_ANON' may be specified in place of the
  path argument to shm_open(2).  In this case, an unnamed shared memory
  file descriptor will be created similar to the IPC_PRIVATE key for
  shmget(2).  Note that the shared memory object can still be shared among
  processes by sharing the file descriptor via fork(2) or sendmsg(2), but
  it is unnamed.  This effectively serves to implement the getmemfd() idea
  bandied about the lists several times over the years.
- The backing store for shared memory file descriptors are garbage
  collected when they are not referenced by any open file descriptors or
  the shm_open(2) virtual namespace.

Submitted by:	dillon, peter (previous versions)
Submitted by:	rwatson (I based this on his version)
Reviewed by:	alc (suggested converting getmemfd() to shm_open())
2008-01-08 21:58:16 +00:00
..
bind One more glue update for BIND 9.4.2 2007-12-02 22:21:30 +00:00
csu The __used (== __attribute__((__used)) ) silences the warning produced 2007-12-04 12:18:43 +00:00
libalias - Bump share library version which were missed in last bump 2007-06-18 18:47:54 +00:00
libarchive Crib {be,le}{16,32,64}{dec,enc} from src/sys/sys/endian.h and use it instead 2008-01-03 18:30:37 +00:00
libatm
libautofs
libbegemot
libbluetooth
libbsm Install getaudit_addr(2) and setaudit_addr(2) links to getaudit(2) and 2007-10-19 10:37:34 +00:00
libbsnmp - Bump share library version which were missed in last bump 2007-06-18 18:47:54 +00:00
libbz2
libc Add a new file descriptor type for IPC shared memory objects and use it to 2008-01-08 21:58:16 +00:00
libc_r
libcalendar
libcam
libcom_err
libcompat
libcrypt
libdevinfo
libdevstat
libdisk Hmmm, must get reading glasses or else change the font on my terminal. That 2007-11-24 11:58:54 +00:00
libedit
libelf - Allow source descriptors with no data to be used as arguments to the 2007-11-26 03:09:33 +00:00
libexpat
libfetch Add missing dependencies on Makefile (fixes NO_CLEAN builds). 2007-12-19 05:10:07 +00:00
libftpio
libgeom
libgpib
libgssapi Make sure GSS-API mechanisms are loaded if gss_acquire_cred is called 2007-11-28 08:50:20 +00:00
libipsec Commit IPv6 support for FAST_IPSEC to the tree. 2007-07-01 12:08:08 +00:00
libipx
libkiconv
libkse Remove hacks to allow libkse to export its symbols in the LIBTHREAD_1_0 2007-12-16 23:29:57 +00:00
libkvm - Update kvm_deadfiles to be compatible with the new system which has no 2007-12-30 01:43:51 +00:00
libmagic
libmd
libmemstat
libmilter
libmp
libncp
libnetgraph
libngatm
libopie
libpam Adjust for OpenPAM Hydrangea. 2007-12-21 12:00:16 +00:00
libpcap Update for libpcap 0.9.8 import 2007-10-16 02:10:44 +00:00
libpmc Improve style(9) compliance and trim a long text line. 2007-12-07 13:52:51 +00:00
libradius
librpcsvc
librt
libsbuf
libsdp Fix bug in handling SDP continuation state. 2007-11-16 15:13:12 +00:00
libsm
libsmb
libsmdb
libsmutil
libstand Fix logical bug in the bzip2 reading code, which results in bogus EIO 2007-12-18 01:50:49 +00:00
libtacplus
libtelnet
libthr sem_post() requires to return -1 on error. 2008-01-07 02:26:29 +00:00
libthread_db Add arm support in libthread_db. 2007-11-17 21:27:53 +00:00
libufs Add a berase() function which uses ioctl(DIOCGDELETE) to erase a slab 2007-12-16 18:02:37 +00:00
libugidfw
libusbhid
libutil Invoke revoke(2) on the slave pty in the pts(4) case (new_openpty()) to 2007-12-20 21:10:06 +00:00
libvgl
libwrap
liby
libypclnt
libz
msun Grumble. DO declare logbl(), DON'T declare logl() just yet. 2007-12-20 03:16:55 +00:00
ncurses - Update build glue for 5.6-20071222 2007-12-30 11:17:40 +00:00
Makefile - Fix setting of MK_GSSAPI option by bsd.own.mk; its value should 2007-12-12 16:39:32 +00:00
Makefile.inc