X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu%2Frculfhash.h;fp=urcu%2Frculfhash.h;h=8baf31d76bdfa1e40b4184b437a5421756764bfb;hp=96dc5a023aa6d4958b24bf316269463ed114b62a;hb=df55172add00a2b1b33b6c09f1f83f858d452f89;hpb=f8fc437722856fefd5d415405d5ce8d79e8b6e96 diff --git a/urcu/rculfhash.h b/urcu/rculfhash.h index 96dc5a0..8baf31d 100644 --- a/urcu/rculfhash.h +++ b/urcu/rculfhash.h @@ -380,6 +380,20 @@ int cds_lfht_replace(struct cds_lfht *ht, */ int cds_lfht_del(struct cds_lfht *ht, struct cds_lfht_node *node); +/* + * cds_lfht_is_node_deleted - query if a node is removed from hash table. + * + * Return non-zero if the node is deleted from the hash table, 0 + * otherwise. + * Node can be looked up with cds_lfht_lookup and cds_lfht_next, + * followed by use of cds_lfht_iter_get_node. + * RCU read-side lock must be held between lookup and call to this + * function. + * Call with rcu_read_lock held. + * Threads calling this API need to be registered RCU read-side threads. + */ +int cds_lfht_is_node_deleted(struct cds_lfht_node *node); + /* * cds_lfht_resize - Force a hash table resize * @ht: the hash table.