mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-26 22:58:19 +02:00
read-only mirror of https://gitlab.freedesktop.org/xorg/lib/libx11
This bug appears as a hang in applications that wait for replies from multiple threads, where one such thread has taken a user lock using XLockDisplay. Prior to this fix, the code could deadlock in this way: If thread 1 goes to sleep waiting for a reply, and then thread 2 takes a user lock and waits for a reply, then thread 2 will wait for thread 1 to process its reply (because responses must be processed in order), but thread 1 will wait for thread 2 to drop its user lock. Fixed by making thread 1 not wait for thread 2 to drop its user lock. This makes the semantics of user locks hard to define, but they were already hard to define. The new behavior appears to be consistent with the way Xlib worked historically, anyway. Fixes: http://lists.freedesktop.org/archives/xcb/2011-March/006802.html There was a similar potential for deadlock in _XReadEvents, fixed the same way, with the same caveats about user-lock semantics. Signed-off-by: Jamey Sharp <jamey@minilop.net> |
||
|---|---|---|
| include | ||
| m4 | ||
| man | ||
| modules | ||
| nls | ||
| specs | ||
| src | ||
| .gitignore | ||
| AUTHORS | ||
| autogen.sh | ||
| configure.ac | ||
| COPYING | ||
| cpprules.in | ||
| Makefile.am | ||
| NEWS | ||
| README | ||
| x11-xcb.pc.in | ||
| x11.pc.in | ||
libX11 - Core X11 protocol client library
Documentation for this library can be found in the included man pages,
the xlib spec from the doc/xorg-docs module, also available at:
http://xorg.freedesktop.org/releases/X11R7.0/doc/PDF/xlib.pdf
and the O'Reilly Xlib books, which they have made freely available online,
though only for older versions of X11:
- X Series Volume 2: Xlib Reference Manual (1989, covers X11R3)
http://www.archive.org/details/xlibretmanver1102nyemiss
- X Series Volume 2: Xlib Reference Manual, 2nd Edition (1990, covers X11R4)
http://www.archive.org/details/xlibrefmanv115ed02nyemiss
All questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg
Please submit bug reports to the Xorg bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
The master development code repository can be found at:
git://anongit.freedesktop.org/git/xorg/lib/libX11
http://cgit.freedesktop.org/xorg/lib/libX11
For patch submission instructions, see:
http://www.x.org/wiki/Development/Documentation/SubmittingPatches
For more information on the git code manager, see:
http://wiki.x.org/wiki/GitPage