Hi, Raised this some months ago but response was left than deafening, and advice says 'have another go', so...
In apr\memory\unix\apr_pools.c:
APR_DECLARE(apr_pool_t *) apr_pool_parent_get(apr_pool_t *pool) { #ifdef NETWARE /* On NetWare, don't return the global_pool, return the application pool as the top most pool */ if (pool->parent == global_pool) return pool; else #endif return pool->parent; }
in apr\dbd\apr_dbd.c:
for (parent = pool; parent; parent = apr_pool_parent_get(pool)) pool = parent;
Cannot see how NetWare can escape this loop if apr_pool_parent_get() returns the same pool passed in to the function. Either (in NetWare case): - apr_pool_parent_get() has to return something other than the same 'pool' to allow the loop to exit, OR - the loop needs to determine if it got the same pool back (at least in NetWare case) and exit the loop. Comments please. Regards, Norm