X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu%2Frculfhash.h;h=40fe4df6bd763f81240b4d08d8bfa7047e344ec1;hp=99b43a8ba0ec4b178b60f1e9491b7176a3204f1f;hb=92cfe223501f564d3bd726a6c580702daeef4198;hpb=cc4fcb1069347d2b5fbf71a61e7c1712df9a177a diff --git a/urcu/rculfhash.h b/urcu/rculfhash.h index 99b43a8..40fe4df 100644 --- a/urcu/rculfhash.h +++ b/urcu/rculfhash.h @@ -8,10 +8,14 @@ extern "C" { #endif +/* + * struct rcu_ht_node and struct _rcu_ht_node should be aligned on + * 4-bytes boundaries because the two lower bits are used as flags. + */ + struct _rcu_ht_node { - struct rcu_ht_node *next; + struct rcu_ht_node *next; /* ptr | DUMMY_FLAG | REMOVED_FLAG */ unsigned long reverse_hash; - unsigned int dummy; }; struct rcu_ht_node { @@ -41,7 +45,6 @@ void ht_node_init(struct rcu_ht_node *node, void *key, { node->key = key; node->key_len = key_len; - node->p.dummy = 0; } /*