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 par…
C C++ Assembly Shell
Latest commit 0727224 Mar 17, 2012
Permalink
Failed to load latest commit information.
sys Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
.cvsignore Add --enable-malloc-replacement option, for using libumem as a malloc… Sep 3, 2006
.gitignore Ignore all the unimportant things. Mar 17, 2012
AUTHORS Build a basic shared library on Linux; may not work! Mar 11, 2006
COPYING Build a basic shared library on Linux; may not work! Mar 11, 2006
COPYRIGHT update copyright info Jun 3, 2008
ChangeLog Build a basic shared library on Linux; may not work! Mar 11, 2006
Doxyfile.in Use doxygen to build docs; generate spec file using configure; use ta… May 13, 2006
Makefile.am move umem_startup constructor to the umem .so itself, rather than Jun 26, 2010
NEWS Build a basic shared library on Linux; may not work! Mar 11, 2006
OPENSOLARIS.LICENSE Initial revision Mar 10, 2006
README update copyright info Jun 3, 2008
README-alpha tweak for svn Mar 17, 2007
TODO Use doxygen to build docs; generate spec file using configure; use ta… May 13, 2006
autogen.sh don't clobber our nice copyright file with GPL Mar 11, 2006
configure.ac move umem_startup constructor to the umem .so itself, rather than Jun 26, 2010
envvar.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
gdb-macros add gdb macros Mar 17, 2007
getpcstack.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
i386_subr_sol.s Initial revision Mar 10, 2006
init_lib.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
init_stand.c Initial revision Mar 10, 2006
linktest_stand.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
malloc.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
misc.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
misc.h Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
sol_compat.h Sync with the current sources from onnv-gate. Jun 26, 2010
sparc_subr_sol.s Initial revision Mar 10, 2006
stand_mapfile Initial revision Mar 10, 2006
stub_stand.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
umem.c Fixes and cleanup. Mar 17, 2012
umem.h Use doxygen to build docs; generate spec file using configure; use ta… May 13, 2006
umem.spec.in packaging tweaks from Rich Sep 4, 2007
umem_agent_support.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
umem_alloc.3 add man pages from opensolaris Mar 17, 2007
umem_base.h Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
umem_cache_create.3 add man pages from opensolaris Mar 17, 2007
umem_debug.3 add man pages from opensolaris Mar 17, 2007
umem_fail.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
umem_fork.c Sync with the current sources from onnv-gate. Jun 26, 2010
umem_impl.h Fixes and cleanup. Mar 17, 2012
umem_test.c Add --enable-malloc-replacement option, for using libumem as a malloc… Sep 3, 2006
umem_test2.c Add another test program Jul 25, 2006
umem_test3.c fixup malloc replacement on 64-bit systems; was missing a configure c… Aug 3, 2007
umem_test4 fix portability issue reported by Mito Jun 3, 2008
umem_update_thread.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
vmem.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
vmem_base.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
vmem_base.h Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
vmem_mmap.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
vmem_sbrk.c Initial merge from Joyent including the vmem_allocator strategy addit… Mar 17, 2012
vmem_stand.c Initial revision Mar 10, 2006
vmem_stand.h Initial revision Mar 10, 2006

README

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,
Message Systems, Inc.
wez (at) messagesystems (dot) com