The segfault problem was that the pool code occasionally handed out the same buffer twice because it doesn't handle more than one thread allocating from the same pool. That is what essentially was happening since more than one thread was passing the same table as the second parm to apr_table_overlap(). That explains why the bad pointers in the hash table were non-pointers that the overlap operation would need to store somewhere.
So fixing the storage leak fixed the segfault. Have fun, -- Jeff Trawick | [EMAIL PROTECTED] Born in Roswell... married an alien...
