Changeset: 3bee31575811 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3bee31575811 Modified Files: gdk/gdk_heap.c Branch: Feb2013 Log Message:
We should always initialize the HEAPcacheLock. diffs (43 lines): diff --git a/gdk/gdk_heap.c b/gdk/gdk_heap.c --- a/gdk/gdk_heap.c +++ b/gdk/gdk_heap.c @@ -84,26 +84,24 @@ static MT_Lock HEAPcacheLock; void HEAPcacheInit(void) { + MT_lock_init(&HEAPcacheLock, "HEAPcache_init"); #if HEAP_CACHE_SIZE > 0 - int i; - + MT_lock_set(&HEAPcacheLock, "HEAPcache_init"); assert(hc.sz == 0); - MT_lock_init(&HEAPcacheLock, "HEAPcache_init"); - MT_lock_set(&HEAPcacheLock, "HEAPcache_init"); hc.used = 0; hc.hc = GDKmalloc(sizeof(heap_cache_e) * HEAP_CACHE_SIZE); - if (hc.hc == NULL) { - MT_lock_unset(&HEAPcacheLock, "HEAPcache_init"); - return; - } - hc.sz = HEAP_CACHE_SIZE; - GDKcreatedir(HCDIR DIR_SEP_STR); - /* clean old leftovers */ - for (i = 0; i < HEAP_CACHE_SIZE; i++) { - char fn[8]; + if (hc.hc != NULL) { + int i; - snprintf(fn, sizeof(fn), "%d", i); - GDKunlink(HCDIR, fn, NULL); + hc.sz = HEAP_CACHE_SIZE; + GDKcreatedir(HCDIR DIR_SEP_STR); + /* clean old leftovers */ + for (i = 0; i < HEAP_CACHE_SIZE; i++) { + char fn[8]; + + snprintf(fn, sizeof(fn), "%d", i); + GDKunlink(HCDIR, fn, NULL); + } } MT_lock_unset(&HEAPcacheLock, "HEAPcache_init"); #endif _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list