Date: 2000-06-23 12:00:22
Pool is back!
In the files section, under pool/pool.zip
New issues resolved:
. Thread-safe singleton management, with the precondition that only one
thread is running before main() starts and after main() ends.
. Thread-safe allocator. The instance-based allocator was removed, since
it really can't be used with pool<>s.
. Also fixed test progam -- thanks for pointing that out, Dave!
. Clean up the #ifndef DEBUG's
. Remove or standardize the tracing statements
. Clean up docs and put in separate files
. Provide examples of class new/delete and global new/delete
. Provide freeing of memory (i.e., set_new_handler support)
. Change the size of the allocated blocks to a run-time value
. Allow contiguous allocation of multiple chunks (i.e., fully support
. Translate m4 generation script to Python
Note that pool<> is now dependant on 5 other headers that I think should be
(parts of) other libraries:
. trace.h provides simple tracing facilities. Anyone know of a better way
to do this???
. postulate.h provides compile-time assertions.
. singleton.h provides very simple and limited singleton support.
. mutex.h provides a simple mutex class, either CRITICAL_SECTIONs,
pthread_mutex_t's (untested), or no-ops.
. guard.h provides a simple mutex guard class.
Advice on what to do with these headers would be appreciated.
P.S. Dave or Beman - go ahead and delete the "pool_allocator" folder. The
newest version of pool<> is under the "pool" folder instead.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk