Uli Schlachter 8584c0e095 send_fds(): Handle too many outstanding FDs to send
Before this patch, the following code caused an endless loop in send_fds(),
because the queue of FDs to send was eventually full, but _xcb_out_flush_to()
didn't make any progress, since there was no request to send:

   while (1) { xcb_send_fd(conn, dup(some_fd)); }

Fix this by sending a sync when flushing didn't make any progress. That way we
actually have something to send and can attach the pending FDs.

Because send_fds() can now send requests, the code in
xcb_send_request_with_fds64() has to be changed. It has to call send_fds()
before it establishes a good sequence number for the request it wants to send.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-06-12 09:39:13 +02:00
2013-08-15 00:35:08 +02:00
2006-04-27 17:32:20 -07:00
2014-08-01 16:04:34 +02:00
2007-11-04 17:29:13 -08:00

About libxcb
============

libxcb provides an interface to the X Window System protocol, which
replaces the current Xlib interface. It has several advantages over
Xlib, including:
- size: small, simple library, and lower memory footprint
- latency hiding: batch several requests and wait for the replies later
- direct protocol access: interface and protocol correspond exactly
- proven thread support: transparently access XCB from multiple threads
- easy extension implementation: interfaces auto-generated from XML-XCB

Xlib can also use XCB as a transport layer, allowing software to make
requests and receive responses with both, which eases porting to XCB.
However, client programs, libraries, and toolkits will gain the most
benefit from a native XCB port.


Please report any issues you find to the freedesktop.org bug tracker,
at:

	<https://bugs.freedesktop.org/enter_bug.cgi?product=XCB>

Discussion about XCB occurs on the XCB mailing list:

        <mailto:xcb at lists.freedesktop.org>
        <http://lists.freedesktop.org/mailman/listinfo/xcb>

You can obtain the latest development versions of XCB using GIT.
For anonymous checkouts, use:

        git clone git://anongit.freedesktop.org/git/xcb/libxcb

For developers, use:

        git clone git+ssh://git.freedesktop.org/git/xcb/libxcb
Description
No description provided
Readme 1.3 MiB
Languages
C 96.8%
Python 2.6%
M4 0.3%
Makefile 0.2%