From d2e886a90ed53a8847f526271137d75166643c2a Mon Sep 17 00:00:00 2001 From: ftillier Date: Mon, 19 Sep 2005 06:48:49 +0000 Subject: [PATCH] Remove support for recursive CL_INIT/CL_DEINIT calls. Added clearing gp_mem_tracker pointer after destruction. Signed-off-by: Fab Tillier (ftillier@silverstorm.com) git-svn-id: svn://openib.tc.cornell.edu/gen1@72 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- trunk/core/complib/cl_memory.c | 11 +---------- trunk/core/complib/cl_obj.c | 10 ---------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/trunk/core/complib/cl_memory.c b/trunk/core/complib/cl_memory.c index 3ed52f01..671509c4 100644 --- a/trunk/core/complib/cl_memory.c +++ b/trunk/core/complib/cl_memory.c @@ -42,11 +42,9 @@ #include "cl_memtrack.h" -#include cl_mem_tracker_t *gp_mem_tracker = NULL; -atomic32_t g_mem_trk_ref = 0; /* @@ -75,10 +73,7 @@ __cl_mem_track_start( void ) cl_status_t status; if( gp_mem_tracker ) - { - cl_atomic_inc( &g_mem_trk_ref ); return; - } /* Allocate the memory tracker object. */ gp_mem_tracker = (cl_mem_tracker_t*) @@ -100,8 +95,6 @@ __cl_mem_track_start( void ) return; } - cl_atomic_inc( &g_mem_trk_ref ); - cl_msg_out( "\n\n\n*** Memory tracker object address = %p ***\n\n\n", gp_mem_tracker ); } @@ -119,9 +112,6 @@ __cl_mem_track_stop( void ) if( !gp_mem_tracker ) return; - if( cl_atomic_dec( &g_mem_trk_ref ) ) - return; - if( cl_qmap_count( &gp_mem_tracker->alloc_map ) ) { /* There are still items in the list. Print them out. */ @@ -151,6 +141,7 @@ __cl_mem_track_stop( void ) /* Free the memory allocated for the memory tracker object. */ __cl_free_priv( gp_mem_tracker ); + gp_mem_tracker = NULL; } diff --git a/trunk/core/complib/cl_obj.c b/trunk/core/complib/cl_obj.c index 74483421..d07c8f91 100644 --- a/trunk/core/complib/cl_obj.c +++ b/trunk/core/complib/cl_obj.c @@ -43,7 +43,6 @@ /* The global object manager. */ cl_obj_mgr_t *gp_obj_mgr = NULL; -atomic32_t g_cl_obj_ref = 0; @@ -58,10 +57,7 @@ cl_obj_mgr_create() /* See if the object manager has already been created. */ if( gp_obj_mgr ) - { - cl_atomic_inc( &g_cl_obj_ref ); return CL_SUCCESS; - } /* Allocate the object manager. */ gp_obj_mgr = cl_zalloc( sizeof( cl_obj_mgr_t ) ); @@ -74,8 +70,6 @@ cl_obj_mgr_create() cl_async_proc_construct( &gp_obj_mgr->async_proc_mgr ); cl_qpool_construct( &gp_obj_mgr->rel_pool ); - cl_atomic_inc( &g_cl_obj_ref ); - /* Initialize the spinlock. */ status = cl_spinlock_init( &gp_obj_mgr->lock ); if( status != CL_SUCCESS ) @@ -116,10 +110,6 @@ cl_obj_mgr_destroy() if( !gp_obj_mgr ) return; - /* See if this is the last call. */ - if( cl_atomic_dec( &g_cl_obj_ref ) ) - return; - /* Verify that all object's have been destroyed. */ for( p_list_item = cl_qlist_head( &gp_obj_mgr->obj_list ); p_list_item != cl_qlist_end( &gp_obj_mgr->obj_list ); -- 2.41.0