30
30
// If waiter is at head, do simple pop
31
31
std::uint64_t const newHead = SetPointer(head, headPtr->next) + ABA_ADDEND;
37
37
// Lock list from concurrent removal. Scan and remove waiter.
40
40
bool removed = RemoveWaiterFromListNotAtHead(headPtr, waiter);
41
41
And(~LOCK_BIT, MEMORY_ORDER_RELEASE);