I dislike this. This duplicates a lot of logic that we already have in regular hash files. The whole point of the SMS logic is to make this sort of thing not necessary anymore. With SMS, we just pass a shared pool into the apr_make_hash function, and we get a hash table in shared memory.
I would much prefer to finish the SMS work, then to put these API's into APR. Remember, any API we add to APR we need to keep forever. That is the nature of writing a library. Since we are well on our way to not needing separate functions for this, I am -0.5 for it. Ryan On Wed, 4 Jul 2001, Ian Holsman wrote: > This implements a hash table using shared memory. > Limitations: > * doesn't have a freelist, so deletes aren't reclaimed > * and can't expand it's size (dont know how to implement this with > current shared memory system) > * no locking (yet) > It is intended for use in modules having a large config requirements > (Patches inline, extra files attached) > > It is intented that apr_shm_hash.c will live in apr/tables > apr_shm_hash.h in apr/include > & > testhash.c in apr/test > > Index: tables/Makefile.in > =================================================================== > RCS file: /home/cvspublic/apr/tables/Makefile.in,v > retrieving revision 1.6 > diff -u -u -r1.6 Makefile.in > --- tables/Makefile.in 2001/01/09 11:06:18 1.6 > +++ tables/Makefile.in 2001/07/05 03:53:02 > @@ -1,5 +1,5 @@ > > -TARGETS = apr_tables.lo apr_hash.lo > +TARGETS = apr_tables.lo apr_hash.lo apr_shm_hash.lo > > # bring in rules.mk for standard functionality > @INCLUDE_RULES@ > Index: test/Makefile.in > =================================================================== > RCS file: /home/cvspublic/apr/test/Makefile.in,v > retrieving revision 1.57 > diff -u -u -r1.57 Makefile.in > --- test/Makefile.in 2001/06/15 20:04:39 1.57 > +++ test/Makefile.in 2001/07/05 03:53:02 > @@ -25,7 +25,8 @@ > [EMAIL PROTECTED]@ \ > [EMAIL PROTECTED]@ \ > [EMAIL PROTECTED]@ \ > - [EMAIL PROTECTED]@ > + [EMAIL PROTECTED]@ \ > + [EMAIL PROTECTED]@ > > TARGETS = $(PROGRAMS) > > @@ -125,5 +126,8 @@ > > [EMAIL PROTECTED]@: teststr.lo $(LOCAL_LIBS) > $(LINK) teststr.lo $(LOCAL_LIBS) $(ALL_LIBS) > + > [EMAIL PROTECTED]@: testhash.lo $(LOCAL_LIBS) > + $(LINK) testhash.lo $(LOCAL_LIBS) $(ALL_LIBS) > > # DO NOT REMOVE > > _____________________________________________________________________________ Ryan Bloom [EMAIL PROTECTED] Covalent Technologies [EMAIL PROTECTED] -----------------------------------------------------------------------------
