Blame SOURCES/0001-dix-Remove-clients-from-input-and-output-ready-queue.patch

a3e08e
From d9e23ea4228575344e3b4c0443cecc5eb75356e4 Mon Sep 17 00:00:00 2001
a3e08e
From: Keith Packard <keithp@keithp.com>
a3e08e
Date: Wed, 10 May 2017 21:50:45 -0700
a3e08e
Subject: [PATCH xserver] dix: Remove clients from input and output ready
a3e08e
 queues after closing
a3e08e
MIME-Version: 1.0
a3e08e
Content-Type: text/plain; charset=UTF-8
a3e08e
Content-Transfer-Encoding: 8bit
a3e08e
a3e08e
Delay removing the client from these two queues until all potential
a3e08e
I/O has completed in case we mark the client as ready for reading or
a3e08e
with pending output during the close operation.
a3e08e
a3e08e
Bugzilla: https://bugs.freedesktop.org/100957
a3e08e
Signed-off-by: Keith Packard <keithp@keithp.com>
a3e08e
Tested-by: Nick Sarnie <commendsarnex@gmail.com>
a3e08e
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
a3e08e
---
a3e08e
 dix/dispatch.c | 4 ++--
a3e08e
 1 file changed, 2 insertions(+), 2 deletions(-)
a3e08e
a3e08e
diff --git a/dix/dispatch.c b/dix/dispatch.c
a3e08e
index a2df1e0e6..8b371b678 100644
a3e08e
--- a/dix/dispatch.c
a3e08e
+++ b/dix/dispatch.c
a3e08e
@@ -3414,7 +3414,6 @@ CloseDownClient(ClientPtr client)
a3e08e
         if (grabState != GrabNone && grabClient == client) {
a3e08e
             UngrabServer(client);
a3e08e
         }
a3e08e
-        mark_client_not_ready(client);
a3e08e
         BITCLEAR(grabWaiters, client->index);
a3e08e
         DeleteClientFromAnySelections(client);
a3e08e
         ReleaseActiveGrabs(client);
a3e08e
@@ -3443,8 +3442,9 @@ CloseDownClient(ClientPtr client)
a3e08e
         if (ClientIsAsleep(client))
a3e08e
             ClientSignal(client);
a3e08e
         ProcessWorkQueueZombies();
a3e08e
-        output_pending_clear(client);
a3e08e
         CloseDownConnection(client);
a3e08e
+        output_pending_clear(client);
a3e08e
+        mark_client_not_ready(client);
a3e08e
 
a3e08e
         /* If the client made it to the Running stage, nClients has
a3e08e
          * been incremented on its behalf, so we need to decrement it
a3e08e
-- 
a3e08e
2.13.0
a3e08e