cppcoro icon indicating copy to clipboard operation
cppcoro copied to clipboard

Split list of awaiters in multi_producer_sequencer::add_awaiter

Open dvetutnev opened this issue 1 year ago • 0 comments

while (awaiters != nullptr)
{
	diff_t diff = TRAITS::difference(targetSequence, lastKnownPublished);
	if (diff > 0)
	{
		// Not yet ready.
		minDiff = diff < minDiff ? diff : minDiff;
		*awaitersToEnqueueTail = awaiters;
		awaitersToEnqueueTail = &awaiters->m_next;
		awaiters->m_lastKnownPublished = lastKnownPublished;
	}
	else
	{
		// Now ready.
		*awaitersToResumeTail = awaiters;
		awaitersToResumeTail = &awaiters->m_next;
	}
	awaiters = awaiters->m_next;
}

Maybe on line should be awaiters->m_targetSequence instead targetSequence?

dvetutnev avatar Mar 29 '23 14:03 dvetutnev