libxcb/src
Josh Triplett 67438753be Support handing off socket write permission to external code.
Libraries like Xlib, some XCB language bindings, and potentially others
have a common problem: they want to share the X connection with XCB. This
requires coordination of request sequence numbers.  Previously, XCB had an
Xlib-specific lock, and allowed Xlib to block XCB from making requests.
Now we've replaced that lock with a handoff mechanism, xcb_take_socket,
allowing external code to ask XCB for permission to take over the write
side of the socket and send raw data with xcb_writev.  The caller of
xcb_take_socket must supply a callback which XCB can call when it wants
the write side of the socket back to make a request.  This callback
synchronizes with the external socket owner, flushes any output queues if
appropriate, and then returns the sequence number of the last request sent
over the socket.

Commit by Josh Triplett and Jamey Sharp.
Handoff mechanism inspired by Keith Packard.
2008-10-12 12:24:59 -07:00
..
.gitignore Add SELinux extension support, disabled by default. 2008-01-24 16:02:34 -05:00
Makefile.am Support handing off socket write permission to external code. 2008-10-12 12:24:59 -07:00
c-client.xsl Add comment noting the requirement to free replies when finished. 2007-11-16 19:34:42 -05:00
c_client.py Added generation of extern "C" for compatibility with C++ 2008-09-09 15:00:38 +02:00
xcb.h Add xcb_ge_event_t and handling for long events. 2008-05-21 21:22:13 +09:30
xcb_auth.c Set namelen unsigned 2008-08-28 13:49:21 +02:00
xcb_conn.c Inline _xcb_lock_io, _xcb_unlock_io, and _xcb_wait_io. 2008-10-12 12:24:59 -07:00
xcb_ext.c Rename index to idx to avoid shadowing 2008-08-28 13:49:21 +02:00
xcb_in.c Support handing off socket write permission to external code. 2008-10-12 12:24:59 -07:00
xcb_list.c The Great XCB Renaming 2006-09-23 12:22:22 -07:00
xcb_out.c Support handing off socket write permission to external code. 2008-10-12 12:24:59 -07:00
xcb_util.c Add support for the abstract socket namespace under Linux 2008-09-09 14:44:54 +02:00
xcb_xid.c Stop installing the protocol descriptions for extensions to an extensions/ 2006-09-25 05:10:37 -07:00
xcbext.h Support handing off socket write permission to external code. 2008-10-12 12:24:59 -07:00
xcbint.h Support handing off socket write permission to external code. 2008-10-12 12:24:59 -07:00