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

Reply via email to