The intermediate grabState, "GrabKickout", was used to trigger dispatch into going back to WaitForSomething after doing a GrabServer so that the set of ready clients would be recomputed to match what the server should be processing. As we only process one client per WaitForSomething call, we will always hit WaitForSomething after finishing the current client, and so don't need any special case here.
Signed-off-by: Keith Packard <kei...@keithp.com> --- dix/dispatch.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/dix/dispatch.c b/dix/dispatch.c index f005983..3237883 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -151,7 +151,6 @@ static ClientPtr grabClient; #define GrabNone 0 #define GrabActive 1 -#define GrabKickout 2 static int grabState = GrabNone; static long grabWaiters[mskcnt]; CallbackListPtr ServerGrabCallback = NULL; @@ -375,11 +374,6 @@ Dispatch(void) /* KillClient can cause this to happen */ continue; } - /* GrabServer activation can cause this to be true */ - if (grabState == GrabKickout) { - grabState = GrabActive; - break; - } isItTimeToYield = FALSE; start_tick = SmartScheduleTime; @@ -1060,7 +1054,7 @@ ProcGrabServer(ClientPtr client) rc = OnlyListenToOneClient(client); if (rc != Success) return rc; - grabState = GrabKickout; + grabState = GrabActive; grabClient = client; if (ServerGrabCallback) { -- 2.8.0.rc3 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel