[Pvfs2-cvs] commit by slang in pvfs2/src/common/id-generator: id-generator.c

CVS commit program cvs at parl.clemson.edu
Tue Nov 6 15:36:25 EST 2007


Update of /projects/cvsroot/pvfs2/src/common/id-generator
In directory parlweb1:/tmp/cvs-serv30623/src/common/id-generator

Modified Files:
	id-generator.c 
Log Message:
don't keep initializing id_gen_safe


Index: id-generator.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/common/id-generator/id-generator.c,v
diff -p -u -r1.9 -r1.10
--- id-generator.c	20 Aug 2007 01:39:56 -0000	1.9
+++ id-generator.c	6 Nov 2007 20:36:25 -0000	1.10
@@ -13,6 +13,7 @@
 #define DEFAULT_ID_GEN_SAFE_TABLE_SIZE 997
 
 static gen_mutex_t s_id_gen_safe_mutex = GEN_MUTEX_INITIALIZER;
+static int s_id_gen_safe_init_count = 0;
 
 static int hash_key(void *key, int table_size);
 static int hash_key_compare(void *key, struct qlist_head *link);
@@ -43,12 +44,14 @@ int id_gen_safe_initialize()
             return -PVFS_ENOMEM;
         }
     }
+    s_id_gen_safe_init_count++;
     return 0;
 }
 
 int id_gen_safe_finalize()
 {
-    if(ID_GEN_SAFE_INITIALIZED())
+    s_id_gen_safe_init_count--;
+    if(s_id_gen_safe_init_count == 0 && ID_GEN_SAFE_INITIALIZED())
     {
         gen_mutex_lock(&s_id_gen_safe_mutex);
         qhash_destroy_and_finalize(s_id_gen_safe_table, id_gen_safe_t, hash_link, free);



More information about the Pvfs2-cvs mailing list