diff options
author | Keith Packard <keithp@keithp.com> | 2017-04-29 00:26:10 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-04-29 09:14:58 -0700 |
commit | e2f68296ffb8e40035c0ebd949b67d1e2e424e11 (patch) | |
tree | cdfdcd428b8c0ae6600a462e8929f3f3a17133d9 /os | |
parent | a82971b07035ee9a4e3ed01326e7c1eab34b5a19 (diff) |
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>
Diffstat (limited to 'os')
-rw-r--r-- | os/io.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -635,7 +635,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 @@ -647,6 +650,7 @@ AbortClient(ClientPtr client) _XSERVTransDisconnect(oc->trans_conn); _XSERVTransClose(oc->trans_conn); oc->trans_conn = NULL; + mark_client_ready(client); } } |