[Xcb] [PATCH] xcb_disconnect: call shutdown() to force a disconnect
Julien Cristau
jcristau at debian.org
Sun Aug 15 19:44:49 PDT 2010
On Sun, Aug 15, 2010 at 19:19:28 -0700, Aaron Plattner wrote:
> Fixes the X Test Suite's XCloseDisplay-6 test, which has this (admittedly
> ridiculous) behavior:
>
> 1. Create a window w.
> 2. Open two display connections, dpy1, and dpy2.
> 3. Grab the server using dpy1.
> 4. Fork.
> 5 (child). XSetProperty on w using dpy2.
> 5 (parent). Verify that no event was recieved on dpy1.
> 6 (parent). XCloseDisplay(dpy1).
> 6 (child). Verify that an event was received on dpy2.
>
> It was failing because at step 6 (child), the server had not actually ungrabbed
> yet because the file descriptor for dpy1 was still open in the child process.
>
> Shutting down the socket during XCloseDisplay matches the behavior of non-XCB
> Xlib, which calls shutdown() from _X11TransSocketDisconnect.
>
> Thanks to Julien Cristau for noticing this.
>
> Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Cheers,
Julien
More information about the Xcb
mailing list