rculfhash: Fix ht allocation bug
authorLai Jiangshan <laijs@cn.fujitsu.com>
Tue, 1 Nov 2011 16:54:04 +0000 (12:54 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 1 Nov 2011 16:54:04 +0000 (12:54 -0400)
Fix a bug introduced by Lai Jiangshan <laijs@cn.fujitsu.com>:
alloc_split_items_count() use a wrong flags.

ht->flags should be inited earlier.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
rculfhash.c

index d786a3da743881e5bc0b406d57dd88d5e915401e..da37e97d38554c6def88699590be83439385e82f 100644 (file)
@@ -1330,6 +1330,7 @@ struct cds_lfht *_cds_lfht_new(cds_lfht_hash_fct hash_fct,
        init_size = max(init_size, min_alloc_size);
        ht = calloc(1, sizeof(struct cds_lfht));
        assert(ht);
+       ht->flags = flags;
        ht->hash_fct = hash_fct;
        ht->compare_fct = compare_fct;
        ht->hash_seed = hash_seed;
@@ -1345,7 +1346,6 @@ struct cds_lfht *_cds_lfht_new(cds_lfht_hash_fct hash_fct,
        alloc_split_items_count(ht);
        /* this mutex should not nest in read-side C.S. */
        pthread_mutex_init(&ht->resize_mutex, NULL);
-       ht->flags = flags;
        order = get_count_order_ulong(init_size);
        ht->t.resize_target = 1UL << order;
        cds_lfht_create_dummy(ht, 1UL << order);
This page took 0.025827 seconds and 4 git commands to generate.