BackendCommon/lockfree_list.h
void help_marked(list_entry* prev_node, list_entry* del_node)
	{
		list_entry* next_node = del_node->get_right();
		//TODO: make_flagged here appears to disagree with what the function description says
		compare_and_swap((list_entry* volatile*) &prev_node->successor.field, make_flagged(del_node), next_node);
		//TODO: where should the node actually be freed?
	}
//Attempts to physically delete the marked node del_node and unflag prev_node
Attempts to physically delete the marked node del_node and unflag prev_node
Attempts to physically delete the marked node del_node and unflag prev_node
void help_marked(list_entry* prev_node, list_entry* del_node)
	{
		list_entry* next_node = del_node->get_right();
		compare_and_swap((list_entry* volatile*) &prev_node->successor.field, make_flagged(del_node), next_node);
	}
void help_marked ( list_entry * prev_node , list_entry * del_node ) { list_entry * next_node = del_node -> get_right ( ) ; compare_and_swap ( ( list_entry * volatile * ) & prev_node -> successor . field , make_flagged ( del_node ) , next_node ) ; }
Attempts to physically delete the marked node del_node and unflag prev_node
Attempts to physically delete the marked node del_node and unflag prev_node
//TODO: make_flagged here appears to disagree with what the function description says //TODO: where should the node actually be freed?