- } else {
- /*
- * Dummy node insertion is performed concurrently (help
- * scheme). We try to link its next node, and if this
- * succeeds, it _means_ it's us who link this dummy node
- * into the table. force_dummy is set as soon as we
- * succeed this cmpxchg within this function.
- */
- if (!force_dummy) {
- if (uatomic_cmpxchg(&node->p.next, NULL,
- flag_dummy(clear_flag(iter))) != NULL) {
- return NULL;
- }
- force_dummy = 1;
- } else {
- node->p.next = flag_dummy(clear_flag(iter));
- }
- }