[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