freebsd-dev/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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libautofs Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libbegemot Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libbluetooth Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libcalendar
libcam 2nd and final commit that moves us to CAM_NEW_TRAN_CODE 2006-11-02 00:54:38 +00:00
libcom_err
libcompat Remove California Regent's clause 3, per letter 2007-01-09 01:02:06 +00:00
libcrypt Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libdevinfo Markup fixes. 2006-09-17 21:27:35 +00:00
libdevstat Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libdisk Hmmm, must get reading glasses or else change the font on my terminal. That 2007-11-24 11:58:54 +00:00
libedit Merge NetBSD changes, among them: 2007-06-10 19:06:09 +00:00
libelf - Allow source descriptors with no data to be used as arguments to the 2007-11-26 03:09:33 +00:00
libexpat Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libfetch Add missing dependencies on Makefile (fixes NO_CLEAN builds). 2007-12-19 05:10:07 +00:00
libftpio Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libgeom Remove parameter names from prototypes to avoid namespace issues. 2007-05-06 10:00:27 +00:00
libgpib Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
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 Remove California Regent's clause 3, per letter 2007-01-09 01:02:06 +00:00
libkiconv Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
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 FreeBSD has <limits.h>. 2007-05-24 22:10:22 +00:00
libmd Use unsigned comparisons. Prior to this commit, SHA1_Update and 2007-05-14 05:00:37 +00:00
libmemstat Make pointer argument to kread_string() const since the kernel structure 2007-05-21 18:16:04 +00:00
libmilter New files in sendmail 8.14.1 2007-04-09 01:45:30 +00:00
libmp Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libncp Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libnetgraph Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libngatm Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libopie Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
librpcsvc Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00
librt Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it. 2007-05-13 14:12:40 +00:00
libsbuf
libsdp Fix bug in handling SDP continuation state. 2007-11-16 15:13:12 +00:00
libsm New files in sendmail 8.14.1 2007-04-09 01:45:30 +00:00
libsmb Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libtelnet Stop enforcing dependencies between MK_* options at Makefile level. 2006-07-31 13:29:36 +00:00
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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libusbhid Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libwrap Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
liby Remove California Regent's clause 3, per letter 2007-01-09 01:02:06 +00:00
libypclnt Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00
libz Resolve conflicts. 2006-03-23 14:09:21 +00:00
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 Bump library versions in preparation for 7.0. 2007-05-21 02:49:08 +00:00