X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=rculfhash.c;h=4f82da4451b48d73ceef111f7e23f26b22330af7;hb=0dcf48471eda28730279e5ead11e5411d23e3af0;hp=41b774adfdd3257f53e7acb548f147d43fe0dc10;hpb=1ee8f000286db8180c95cbc740566554f403f933;p=urcu.git diff --git a/rculfhash.c b/rculfhash.c index 41b774a..4f82da4 100644 --- a/rculfhash.c +++ b/rculfhash.c @@ -4,6 +4,7 @@ * Userspace RCU library - Lock-Free Resizable RCU Hash Table * * Copyright 2010-2011 - Mathieu Desnoyers + * Copyright 2011 - Lai Jiangshan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -318,7 +319,7 @@ struct partition_resize_work { static void _cds_lfht_add(struct cds_lfht *ht, cds_lfht_match_fct match, - void *key, + const void *key, unsigned long size, struct cds_lfht_node *node, struct cds_lfht_iter *unique_ret, @@ -890,7 +891,7 @@ int _cds_lfht_replace(struct cds_lfht *ht, unsigned long size, static void _cds_lfht_add(struct cds_lfht *ht, cds_lfht_match_fct match, - void *key, + const void *key, unsigned long size, struct cds_lfht_node *node, struct cds_lfht_iter *unique_ret, @@ -1381,8 +1382,9 @@ struct cds_lfht *_cds_lfht_new(unsigned long init_size, return ht; } -void cds_lfht_lookup(struct cds_lfht *ht, cds_lfht_match_fct match, - unsigned long hash, void *key, struct cds_lfht_iter *iter) +void cds_lfht_lookup(struct cds_lfht *ht, unsigned long hash, + cds_lfht_match_fct match, const void *key, + struct cds_lfht_iter *iter) { struct cds_lfht_node *node, *next, *bucket; unsigned long reverse_hash, size; @@ -1419,7 +1421,7 @@ void cds_lfht_lookup(struct cds_lfht *ht, cds_lfht_match_fct match, } void cds_lfht_next_duplicate(struct cds_lfht *ht, cds_lfht_match_fct match, - void *key, struct cds_lfht_iter *iter) + const void *key, struct cds_lfht_iter *iter) { struct cds_lfht_node *node, *next; unsigned long reverse_hash; @@ -1498,9 +1500,9 @@ void cds_lfht_add(struct cds_lfht *ht, unsigned long hash, } struct cds_lfht_node *cds_lfht_add_unique(struct cds_lfht *ht, - cds_lfht_match_fct match, - void *key, unsigned long hash, + cds_lfht_match_fct match, + const void *key, struct cds_lfht_node *node) { unsigned long size; @@ -1515,9 +1517,9 @@ struct cds_lfht_node *cds_lfht_add_unique(struct cds_lfht *ht, } struct cds_lfht_node *cds_lfht_add_replace(struct cds_lfht *ht, - cds_lfht_match_fct match, - void *key, unsigned long hash, + cds_lfht_match_fct match, + const void *key, struct cds_lfht_node *node) { unsigned long size;