Use _STORE_SHARED to update redirections
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 9 Mar 2010 14:46:53 +0000 (09:46 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 9 Mar 2010 14:46:53 +0000 (09:46 -0500)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
urcu-rbtree.c

index e1df343e9cd058f2ee9cc2a8b869918c009ee585..25ba43f0caceb949a0db271283ebeb28b0f7ac26 100644 (file)
@@ -198,8 +198,8 @@ static struct rcu_rbtree_node *left_rotate(struct rcu_rbtree_node **root,
        /*
         * redirect old nodes to new.
         */
-       x->redir = xc;
-       y->redir = yc;
+       _STORE_SHARED(x->redir, xc);
+       _STORE_SHARED(y->redir, yc);
 
        /*
         * Ensure that redirections are visible before updating external
@@ -296,8 +296,8 @@ static struct rcu_rbtree_node *right_rotate(struct rcu_rbtree_node **root,
        /*
         * redirect old nodes to new.
         */
-       x->redir = xc;
-       y->redir = yc;
+       _STORE_SHARED(x->redir, xc);
+       _STORE_SHARED(y->redir, yc);
 
        /*
         * Ensure that redirections are visible before updating external
@@ -477,7 +477,7 @@ rcu_rbtree_transplant(struct rcu_rbtree_node **root,
                /*
                 * redirect old node to new.
                 */
-               v->redir = vc;
+               _STORE_SHARED(v->redir, vc);
 
                /*
                 * Ensure that redirections are visible before updating external
@@ -624,8 +624,8 @@ rcu_rbtree_remove_nonil(struct rcu_rbtree_node **root,
         * redirect old nodes to new.
         */
        if (x != &rcu_rbtree_nil)
-               x->redir = xc;
-       y->redir = yc;
+               _STORE_SHARED(x->redir, xc);
+       _STORE_SHARED(y->redir, yc);
 
        /*
         * Ensure that redirections are visible before updating external
This page took 0.026093 seconds and 4 git commands to generate.