X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=rcuja%2Frcuja-shadow-nodes.c;h=b27812e3a74429efaaa945603499a7004421a1e8;hb=refs%2Fheads%2Furcu%2Frcuja-range;hp=718c0821407c7ba9f927342b5db4e593a2a88d13;hpb=dc0e9798320a244262c504c47f34af058bc1ebb3;p=userspace-rcu.git diff --git a/rcuja/rcuja-shadow-nodes.c b/rcuja/rcuja-shadow-nodes.c index 718c082..b27812e 100644 --- a/rcuja/rcuja-shadow-nodes.c +++ b/rcuja/rcuja-shadow-nodes.c @@ -3,7 +3,7 @@ * * Userspace RCU library - RCU Judy Array Shadow Node Hash Table * - * Copyright 2012 - Mathieu Desnoyers + * Copyright 2012-2013 - Mathieu Desnoyers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -24,13 +24,13 @@ #include #include #include +#include +#include +#include #include #include #include -#include #include -#include -#include #include "rcuja-internal.h" @@ -377,8 +377,7 @@ rcu_unlock: */ __attribute__((visibility("protected"))) void rcuja_shadow_prune(struct cds_lfht *ht, - unsigned int flags, - void (*free_node_cb)(struct cds_ja_node *node)) + unsigned int flags) { const struct rcu_flavor_struct *flavor; struct cds_ja_shadow_node *shadow_node; @@ -400,11 +399,6 @@ void rcuja_shadow_prune(struct cds_lfht *ht, goto unlock; if ((flags & RCUJA_SHADOW_CLEAR_FREE_NODE) && shadow_node->level) { - if (shadow_node->level == shadow_node->ja->tree_depth - 1) { - rcuja_free_all_children(shadow_node, - shadow_node->node_flag, - free_node_cb); - } if (flags & RCUJA_SHADOW_CLEAR_FREE_LOCK) { flavor->update_call_rcu(&shadow_node->head, free_shadow_node_and_node_and_lock);