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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list