Commit graph

54 commits

Author SHA1 Message Date
Greg Burd
c4b96af829 Add test and benchmarks. 2020-06-24 10:33:13 -04:00
Greg Burd
e1eb2c8413 fixes 2020-06-22 14:21:25 -04:00
Gregory Burd
0727224086 Ignore all the unimportant things. 2012-03-17 19:23:32 -04:00
Gregory Burd
6b0eb6878b Fixes and cleanup. 2012-03-17 19:23:10 -04:00
Gregory Burd
f8c1c0e968 Initial merge from Joyent including the vmem_allocator strategy additions. 2012-03-17 11:32:48 -04:00
Wez Furlong
5cc22b9326 I was working in the wrong checkout in my last commit...
revert it, and make the constructor-ness conditional on not being
"standalone".
2010-06-27 00:05:03 +00:00
Wez Furlong
7d4d667891 Change the constructor attribute to putting this function in the
.init section.

The constructor is called too late, and clobbers state, leading
to heap corruption later.
2010-06-26 23:00:02 +00:00
Wez Furlong
1028ce923e Sync with the current sources from onnv-gate.
The solaris sources use a non-portable create-thread-suspended flag when
spawning the update thread; I've thrown together a pthreads portable
equivalent.  This has not had any real level of testing.

These changes include a lock around the underlying brk() call; the lack of lock
in earlier revisions of this repo may be the reason that
UMEM_OPTIONS=backend=sbrk was flaky.
2010-06-26 16:02:39 +00:00
Wez Furlong
b9dc821378 move umem_startup constructor to the umem .so itself, rather than
the malloc replacement.

Rename ec_atomic to umem_atomic.

Add a posix_memalign function.

-ldl isn't universal; make a configure check for it.
2010-06-26 13:10:39 +00:00
Wez Furlong
49b7cfb4d4 Apparently, the glibc malloc hooks are now deprecated due to thread safety
issues, so we simply eliminate the glibc specific code from our malloc
preload to resolve this issue.
2010-04-30 21:31:37 +00:00
Wez Furlong
f82ad44b62 * allow the sbrk backend to be requested via UMEM_OPTIONS=backend=sbrk, but note that this appears to be broken on non-solaris platforms.
* make a safer/better check for number of cpus on linux
 * use pthread_once to register the forkhandler, as it is possible to call it twice in some scenarios without this protection
2010-04-30 21:27:09 +00:00
Wez Furlong
b2ee64fc04 correct the parameter ordering for the memalign hook on glibc systems 2010-04-06 00:45:32 +00:00
Wez Furlong
698dd4c9af bump version number in trunk 2010-02-19 15:16:21 +00:00
Wez Furlong
da390045aa improve compatibility with PPC platforms. 2010-02-19 15:14:55 +00:00
Wez Furlong
e5bb27aaa8 bump the version; it's about 2 years overdue that we roll a new tarball 2009-03-06 00:58:05 +00:00
Wez Furlong
f90f13368b update copyright info 2008-06-03 03:48:16 +00:00
Wez Furlong
f4e4e257f5 fix portability issue reported by Mito 2008-06-03 03:39:58 +00:00
Wez Furlong
ffd4b8b927 packaging tweaks from Rich 2007-09-04 14:05:27 +00:00
Wez Furlong
b4f8c9083e spec fixup, patch from Rich 2007-09-03 14:38:10 +00:00
Wez Furlong
01ce31068d fixup malloc replacement on 64-bit systems; was missing a configure check. 2007-08-03 15:05:00 +00:00
Wez Furlong
1a747468dc better check for issetugid 2007-03-18 02:17:55 +00:00
Wez Furlong
41bc866d58 be more libc friendly when replacing malloc().
Use our own getenv() on glibc platforms, as the glibc implementation calls
malloc() internally.  This allows the use of env vars to enable debugging modes
in the app.
2007-03-18 01:37:02 +00:00
Wez Furlong
eb5ef0ba13 install man pages 2007-03-17 23:52:25 +00:00
Wez Furlong
409b31ca3f add gdb macros 2007-03-17 22:46:01 +00:00
Wez Furlong
84293cb0b4 fixup linkage 2007-03-17 19:14:33 +00:00
Wez Furlong
35e9dc7e11 fix another typo. 2007-03-17 18:45:43 +00:00
Wez Furlong
a97a02fa4c create a separate library, libumem_malloc, for people that want to replace
malloc with the umem routines.
2007-03-17 18:22:16 +00:00
Wez Furlong
a6a20ffacf add man pages from opensolaris 2007-03-17 18:03:10 +00:00
Wez Furlong
8f2686cc81 fix typo and build on osx 2007-03-17 17:34:33 +00:00
Wez Furlong
c9b695687f tweak for svn 2007-03-17 17:31:57 +00:00
Devon H. O'Dell
7b6452aa2d Insert bits to allow successful compilation (and apparent success in
running) on FreeBSD.
2006-10-13 18:03:34 +00:00
Wez Furlong
724af76462 merge some OSX related fixes from ecelerity 2006-10-13 15:54:13 +00:00
Richard Dawe
07d8e36190 sol_compat.h: Pull in <sys/time.h> for proto of gettimeofday (fixes warnings) 2006-09-03 12:50:46 +00:00
Richard Dawe
29bf7f3e03 Add --enable-malloc-replacement option, for using libumem as a malloc replacement 2006-09-03 12:48:23 +00:00
Richard Dawe
e7140b1a1a Bugfix: 'rpm' target uses bzip2; so should the spec file 2006-09-03 12:45:22 +00:00
Richard Dawe
21f7b73b0f Include files, to pick up declarations for printf, strcpy (fixes warnings) 2006-09-03 11:57:04 +00:00
Richard Dawe
817aa395a1 Add another test program 2006-07-25 20:15:33 +00:00
Richard Dawe
07f343fdd8 Ignore more built files 2006-07-25 18:39:24 +00:00
Richard Dawe
c51a11fb01 Relax libtool version requirement; builds OK with libtool 1.4.2 on RH8.0 2006-07-25 18:37:09 +00:00
Richard Dawe
26b3085605 Specify build deps 2006-05-13 20:51:49 +00:00
Richard Dawe
c773e87bd3 Bugfix: need to depend on dist-bzip2 target, not the tarball, to ensure that tarball is always up-to-date 2006-05-13 20:50:18 +00:00
Richard Dawe
e781f51fc3 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
Richard Dawe
8ddf3f8789 Ignore tarballs 2006-05-13 20:36:12 +00:00
Richard Dawe
c453cb48a6 Re-add README-alpha, to provide instructions for building from CVS, but this time actually adapt it to umem 2006-05-13 19:12:20 +00:00
Richard Dawe
11a4b72485 Bugfixes: install headers in correct place; include .so in -devel, not main rpm; run ldconfig on pre/post in rpm; clean out libtool files in rpm build 2006-03-12 18:23:52 +00:00
Richard Dawe
0d7e97d09b Beginnings of rpm build (currently broken) 2006-03-12 10:19:52 +00:00
Richard Dawe
1d494ceba8 'make dist' and 'make distcheck' work 2006-03-12 09:58:38 +00:00
Wez Furlong
aa3fcd42da ignore noisy autoconf bits 2006-03-11 18:58:46 +00:00
Wez Furlong
855e068963 make the build experience nicer outside of ecelerity.
Add a simple test app.
Note: we don't compile the malloc replacement component.
2006-03-11 18:57:05 +00:00
Wez Furlong
ec9812105b don't clobber our nice copyright file with GPL 2006-03-11 18:55:22 +00:00