X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=rculfhash.c;h=d733d6bd53da2cab4b849e343656ce53df4326f7;hb=960c9e4ff8e6028f5a0d4b1c1d747b20f08c5177;hp=c7b9ea895cf6594d11a9ef8a56a461ba3bc2ae7d;hpb=f4a9cc0b4bc9791e18c66b00023ae4ef76befb74;p=urcu.git diff --git a/rculfhash.c b/rculfhash.c index c7b9ea8..d733d6b 100644 --- a/rculfhash.c +++ b/rculfhash.c @@ -855,7 +855,7 @@ struct cds_lfht_node *_cds_lfht_add(struct cds_lfht *ht, enum add_mode mode, int dummy) { struct cds_lfht_node *iter_prev, *iter, *next, *new_node, *new_next, - *dummy_node, *return_node; + *return_node; struct _cds_lfht_node *lookup; assert(!is_dummy(node)); @@ -924,7 +924,7 @@ struct cds_lfht_node *_cds_lfht_add(struct cds_lfht *ht, return_node = NULL; else /* ADD_DEFAULT and ADD_UNIQUE */ return_node = node; - goto gc_end; + goto end; } replace: @@ -946,10 +946,6 @@ struct cds_lfht_node *_cds_lfht_add(struct cds_lfht *ht, (void) uatomic_cmpxchg(&iter_prev->p.next, iter, new_next); /* retry */ } -gc_end: - /* Garbage collect logically removed nodes in the bucket */ - dummy_node = (struct cds_lfht_node *) lookup; - _cds_lfht_gc_bucket(dummy_node, node); end: return return_node; }