This is the user space slab memory allocator, umem, first available in Solaris 9 (SunOS 5.4) now the default allocator on Solaris and Illumos. This implementation has been ported to other popular operating systems, such as Linux, Windows and BSDish systems (including Darwin/OSX) by OmniTI (portableumem) and includes changes made by Joyent as part of their ongoing work to improve SmartOS.
Find a file
2007-08-03 15:05:00 +00:00
sys Initial revision 2006-03-10 02:45:59 +00:00
.cvsignore Add --enable-malloc-replacement option, for using libumem as a malloc replacement 2006-09-03 12:48:23 +00:00
AUTHORS Build a basic shared library on Linux; may not work! 2006-03-11 17:15:25 +00:00
autogen.sh don't clobber our nice copyright file with GPL 2006-03-11 18:55:22 +00:00
ChangeLog Build a basic shared library on Linux; may not work! 2006-03-11 17:15:25 +00:00
configure.ac fixup malloc replacement on 64-bit systems; was missing a configure check. 2007-08-03 15:05:00 +00:00
COPYING Build a basic shared library on Linux; may not work! 2006-03-11 17:15:25 +00:00
COPYRIGHT Initial revision 2006-03-10 02:45:59 +00:00
Doxyfile.in Use doxygen to build docs; generate spec file using configure; use tar.bz2 instead of tar.gz 2006-05-13 20:37:27 +00:00
envvar.c be more libc friendly when replacing malloc(). 2007-03-18 01:37:02 +00:00
gdb-macros add gdb macros 2007-03-17 22:46:01 +00:00
getpcstack.c Initial revision 2006-03-10 02:45:59 +00:00
i386_subr_sol.s Initial revision 2006-03-10 02:45:59 +00:00
init_lib.c fix typo and build on osx 2007-03-17 17:34:33 +00:00
init_stand.c Initial revision 2006-03-10 02:45:59 +00:00
linktest_stand.c Initial revision 2006-03-10 02:45:59 +00:00
Makefile.am fixup malloc replacement on 64-bit systems; was missing a configure check. 2007-08-03 15:05:00 +00:00
malloc.c be more libc friendly when replacing malloc(). 2007-03-18 01:37:02 +00:00
misc.c make the build experience nicer outside of ecelerity. 2006-03-11 18:57:05 +00:00
misc.h merge some OSX related fixes from ecelerity 2006-10-13 15:54:13 +00:00
NEWS Build a basic shared library on Linux; may not work! 2006-03-11 17:15:25 +00:00
OPENSOLARIS.LICENSE Initial revision 2006-03-10 02:45:59 +00:00
README Initial revision 2006-03-10 02:45:59 +00:00
README-alpha tweak for svn 2007-03-17 17:31:57 +00:00
sol_compat.h better check for issetugid 2007-03-18 02:17:55 +00:00
sparc_subr_sol.s Initial revision 2006-03-10 02:45:59 +00:00
stand_mapfile Initial revision 2006-03-10 02:45:59 +00:00
stub_stand.c Initial revision 2006-03-10 02:45:59 +00:00
TODO Use doxygen to build docs; generate spec file using configure; use tar.bz2 instead of tar.gz 2006-05-13 20:37:27 +00:00
umem.c Insert bits to allow successful compilation (and apparent success in 2006-10-13 18:03:34 +00:00
umem.h Use doxygen to build docs; generate spec file using configure; use tar.bz2 instead of tar.gz 2006-05-13 20:37:27 +00:00
umem.spec.in Add --enable-malloc-replacement option, for using libumem as a malloc replacement 2006-09-03 12:48:23 +00:00
umem_agent_support.c Initial revision 2006-03-10 02:45:59 +00:00
umem_alloc.3 add man pages from opensolaris 2007-03-17 18:03:10 +00:00
umem_base.h Initial revision 2006-03-10 02:45:59 +00:00
umem_cache_create.3 add man pages from opensolaris 2007-03-17 18:03:10 +00:00
umem_debug.3 add man pages from opensolaris 2007-03-17 18:03:10 +00:00
umem_fail.c merge some OSX related fixes from ecelerity 2006-10-13 15:54:13 +00:00
umem_fork.c Initial revision 2006-03-10 02:45:59 +00:00
umem_impl.h Initial revision 2006-03-10 02:45:59 +00:00
umem_test.c Add --enable-malloc-replacement option, for using libumem as a malloc replacement 2006-09-03 12:48:23 +00:00
umem_test2.c Add another test program 2006-07-25 20:15:33 +00:00
umem_test3.c fixup malloc replacement on 64-bit systems; was missing a configure check. 2007-08-03 15:05:00 +00:00
umem_test4 Add --enable-malloc-replacement option, for using libumem as a malloc replacement 2006-09-03 12:48:23 +00:00
umem_update_thread.c Initial revision 2006-03-10 02:45:59 +00:00
vmem.c merge some OSX related fixes from ecelerity 2006-10-13 15:54:13 +00:00
vmem_base.c Initial revision 2006-03-10 02:45:59 +00:00
vmem_base.h Initial revision 2006-03-10 02:45:59 +00:00
vmem_mmap.c merge some OSX related fixes from ecelerity 2006-10-13 15:54:13 +00:00
vmem_sbrk.c Initial revision 2006-03-10 02:45:59 +00:00
vmem_stand.c Initial revision 2006-03-10 02:45:59 +00:00
vmem_stand.h Initial revision 2006-03-10 02:45:59 +00:00

Portable libumem.
================

This is a port of Solaris libumem to non-Solaris systems.

The port was made while integrating libumem with our Ecelerity MTA product, so
your initial experience will not be 100% out-of-the-box, because there is no
standalone configure script for the library at this time. (patches welcome!)

In addition, since our deployment is threaded, we force the library into
threaded mode.

While the library is itself stable (it's the memory allocator used by the
Solaris OS), the port may have a few rough edges.  We're shipping umem with
Linux and Windows versions of our product as we have found it to be stable.

We will continue to update this project as and when we make improvements, and
welcome third-party patches that improve the usability for everyone.

 
Wez Furlong,
OmniTI, Inc.