mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-09 16:51:31 +00:00
[idd] scheduler: account partial shared delivery
Record every requested recipient after LGMP posts to at least one live subscriber. Targets that disappeared during the post are harmless, while surviving targets must advance instead of remaining perpetually due.
This commit is contained in:
@@ -1502,9 +1502,11 @@ CIndirectDeviceContext::PostSharedFrame(unsigned frameIndex,
|
||||
m_frameDelivery[frameIndex].sharedOwnerClientID = 0;
|
||||
m_frameDelivery[frameIndex].sharedOwnerPending = false;
|
||||
m_frameDelivery[frameIndex].sharedPending = true;
|
||||
if (postedCount == targetCount)
|
||||
m_frameScheduler.FrameDelivered(
|
||||
recipients, targetCount, frameSerial, now);
|
||||
// LGMP returns only the number of matching subscribers. Account the full
|
||||
// snapshot: disappeared client IDs are harmless, while every surviving
|
||||
// target received this post.
|
||||
m_frameScheduler.FrameDelivered(
|
||||
recipients, targetCount, frameSerial, now);
|
||||
return SHARED_FRAME_POSTED;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user