malloc pool Code
Status: Pre-Alpha
Brought to you by:
philipashmore
Introduction ============ mallocpool, as it's name implies, is a means of creating and destroying pools of memory. If you've used the Apache Portable Runtime Library(apr), you've probably encountered this concept - when a "pool" is destroyed, all objects allocated in it are reclaimed. So if that's all malloc pool did, you could just use apr. Yes, there's more - malloc pool can also implement an "offset heap". That's a heap that manages itself using offsets. This allows the entire heap to be stored on disk and/or in shared memory. In other words a really low level network database. Directory layout ================ mallocpool (you are here) |-build (everything created goes here, as far as the tools will allow) | |-v3c | \-tests |-v3c (the source) \-tests Requirements ============ This is a sub-project of v3c so you'll need that. mallocpool will need mmap or equivalent when I get around to doing a network database implementation, but for now it's just header files. Debian/Ubuntu packages ====================== If you run make debian the build system will compile and test v3c/mallocpool before creating a .tar.bz2 tar ball. This tar ball is then used by the build system to build the debian packages libmallocpool-dev_0.8.0-1_amd64.deb libmallocpool-doc_0.8.0-1_all.deb You will need a gpg public/private key pair to sign these packages - more info can be found in the "maint-guide" debian package. doxygen ======= To build the documentation you'll need v3c. I've cobbled together a doxygen "documentation chain" so that other projects can layer their doxygen documentation on top easily. Then to install the documentation make <flags> doxygen-doc && sudo make install-doxygen-doc v3c === v3c provides basic build/compile/runtime functionality used by mallocpool. Once v3c is installed, mallocpool can use the v3c "build boilerplate" as follows Symbolic links: acx_pthread.m4 -> /usr/include/v3c/acx_pthread.m4 doxygen.am -> /usr/include/v3c/doxygen.am doxygen.m4 -> /usr/include/v3c/doxygen.m4 /usr/include/v3c/v3c.mak and /usr/include/v3c/v3c_mak.sh are used through their "make" path - v3c/v3c.mak. Why can't regular paths work that way? I tried to find a way to avoid symbolic links - automake etc. didn't like it. At least this way, updates to the v3c build system get incorporated automatically. Using mallocpool ================ The default install location determined by configure is "/usr/local", but "make debian" changes this to "/usr". Feedback ======== All feedback should be through this projects support web page http://sourceforge.net/projects/mallocpool/support. I've added a help, open discussion and a mantis bug tracker there. Finally, do send me an email to let me know what your thoughts are on mallocpool!