Hi Leo,
I'm updating my source base and looking over the changes. You commented out an
assertion in the complib pool abstraction that all objects were returned before
a pool is destroyed. You added a comment that you hit the assertion during
shutdown.
Was it not possible to fix the caller to force all items to be returned to the
pool, rather than removing the check? The check is actually valuable, since
the destructor for pool objects won't be called for objects that were not
returned, potentially leaking more resources.
To refresh our memories:
>Index: core/complib/cl_pool.c
>===================================================================
>--- core/complib/cl_pool.c (revision 1558)
>+++ core/complib/cl_pool.c (revision 1559)
>@@ -180,8 +180,10 @@
> * if they haven't, then most likely they are still using
> memory
> * that will be freed, and the destructor will not be called!
> */
>- CL_ASSERT( cl_qcpool_count( p_pool ) == p_pool->num_objects );
>
>+// Assert can happen in shutdown. Need to find a way to distinguish between
>the cases
>+// CL_ASSERT( cl_qcpool_count( p_pool ) == p_pool->num_objects );
>+
> /* call the user's destructor for each object in the pool */
> if( p_pool->pfn_dtor )
> {
>
-Fab
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw