os: Mark client as ready to read when closing due to write failure [100863]

This makes sure the server will go look at the client again, notice
that the FD is no longer valid and close the client down.

Bugzilla: https://bugs.freedesktop.org/100863
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
(cherry picked from commit e2f68296ff)
This commit is contained in:
Keith Packard 2017-04-29 00:26:10 -07:00 committed by Adam Jackson
parent 7a2525fba6
commit d808b57399

View file

@ -636,7 +636,10 @@ SetCriticalOutputPending(void)
/*****************
* AbortClient:
* When a write error occurs to a client, close
* the connection and clean things up.
* the connection and clean things up. Mark
* the client as 'ready' so that the server will
* try to read from it again, notice that the fd is
* closed and clean up from there.
*****************/
static void
@ -648,6 +651,7 @@ AbortClient(ClientPtr client)
_XSERVTransDisconnect(oc->trans_conn);
_XSERVTransClose(oc->trans_conn);
oc->trans_conn = NULL;
mark_client_ready(client);
}
}