projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rculfhash: introduce cds_lfht_node_init_deleted
[urcu.git]
/
src
/
rculfhash.c
diff --git
a/src/rculfhash.c
b/src/rculfhash.c
index 04fd49946aa940184015a4921971feff5d3818e5..8046f3a63a280397be3986231f1db8921ea4bfdb 100644
(file)
--- a/
src/rculfhash.c
+++ b/
src/rculfhash.c
@@
-851,6
+851,12
@@
int is_removal_owner(struct cds_lfht_node *node)
return ((unsigned long) node) & REMOVAL_OWNER_FLAG;
}
return ((unsigned long) node) & REMOVAL_OWNER_FLAG;
}
+static
+struct cds_lfht_node *flag_removed(struct cds_lfht_node *node)
+{
+ return (struct cds_lfht_node *) (((unsigned long) node) | REMOVED_FLAG);
+}
+
static
struct cds_lfht_node *flag_removal_owner(struct cds_lfht_node *node)
{
static
struct cds_lfht_node *flag_removal_owner(struct cds_lfht_node *node)
{
@@
-1578,6
+1584,12
@@
const struct cds_lfht_mm_type *get_mm_type(
}
#endif
}
#endif
+void cds_lfht_node_init_deleted(struct cds_lfht_node *node)
+{
+ cds_lfht_node_init(node);
+ node->next = flag_removed(NULL);
+}
+
struct cds_lfht *_cds_lfht_new(unsigned long init_size,
unsigned long min_nr_alloc_buckets,
unsigned long max_nr_buckets,
struct cds_lfht *_cds_lfht_new(unsigned long init_size,
unsigned long min_nr_alloc_buckets,
unsigned long max_nr_buckets,
This page took
0.02377 seconds
and
4
git commands to generate.