From: Lai Jiangshan Date: Tue, 1 Nov 2011 16:54:04 +0000 (-0400) Subject: rculfhash: Fix ht allocation bug X-Git-Tag: v0.7.0~43^2~70 X-Git-Url: https://git.lttng.org/?p=urcu.git;a=commitdiff_plain;h=b5d6b20fb518bce4a39c256ac89dcb376a5f971a rculfhash: Fix ht allocation bug Fix a bug introduced by Lai Jiangshan : alloc_split_items_count() use a wrong flags. ht->flags should be inited earlier. Signed-off-by: Lai Jiangshan Signed-off-by: Mathieu Desnoyers --- diff --git a/rculfhash.c b/rculfhash.c index d786a3d..da37e97 100644 --- a/rculfhash.c +++ b/rculfhash.c @@ -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);