Fix rcuja: fallback when adding element to full pool
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 28 May 2013 03:58:39 +0000 (23:58 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 28 May 2013 03:58:39 +0000 (23:58 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
rcuja/rcuja.c

index 9c90fdcdfc13b926c983e9be770aa5e51179e784..fac1eb75d56a09210e87296a35b14664a09724ec 100644 (file)
@@ -835,6 +835,9 @@ skip_copy:
                ret = _ja_node_set_nth(new_type, new_node,
                                new_shadow_node,
                                n, child_node_flag);
+               if (new_type->type_class == RCU_JA_POOL && ret) {
+                       goto fallback_toosmall;
+               }
                assert(!ret);
        }
        /* Return pointer to new recompacted node through old_node_flag_ptr */
This page took 0.02589 seconds and 4 git commands to generate.