summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-10-12Bump version number to 1.2handoffJosh Triplett1-1/+1
2008-10-12Support handing off socket write permission to external code.Josh Triplett5-5/+110
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-12Track 64-bit sequence numbers internally.Jamey Sharp3-25/+31
External APIs that used 32-bit sequence numbers continue to do so. Commit by Josh Triplett and Jamey Sharp.
2008-10-12Use sequence number ranges in pending repliesJamey Sharp1-4/+7
This allows optimizing adjacent pending replies with the same flags, and will help support default flags for a range of future requests. Commit by Josh Triplett and Jamey Sharp.
2008-10-12Inline _xcb_lock_io, _xcb_unlock_io, and _xcb_wait_io.Jamey Sharp4-37/+19
These functions are once again a single pthread call, so just make that call directly.
2008-10-12Remove libxcb-xlib and xcbxlib.h.Jamey Sharp8-218/+6
2008-10-08Remove duplicate XCB_EXTENSION calls for Composite extensionJosh Triplett1-2/+0
2008-09-20fix tiny memory leak in read_packet (leak only happens when malloc returns ↵Henning Sten1-0/+1
NULL so it's very rare) Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-09Added generation of extern "C" for compatibility with C++Carsten Meier1-0/+12
The auto-generated header files now include an extern "C" declaration for compatibility with C++. Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-09Add support for the abstract socket namespace under LinuxJulien Cristau2-3/+43
Based on same in Xtrans. Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-09Fix some fd leaks in _xcb_open_*()Julien Cristau1-5/+12
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-03fixed overly aggressive warning about fixed field following variableBart Massey1-1/+1
2008-09-03added small fix to support trailing fixed fields; also warning for non-pad ↵Bart Massey1-1/+7
fixed fields
2008-08-31factorize m4 macros and add one to set X extensionsVincent Torri4-150/+193
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28Initialize all fields of addrinfoJulien Danjou1-8/+11
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28Use ifdef instead of if for defined valueJulien Danjou1-1/+1
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28Set namelen unsignedJulien Danjou1-1/+1
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28Rename index to idx to avoid shadowingJulien Danjou1-4/+4
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28Use a signed size in read_block()Julien Danjou1-1/+1
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28Use unsigned to compare and rename syncJulien Danjou1-5/+5
- i must be unsigned to be compare in the loop - sync shadow global sync() function Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28Fix htonl() arg & convert sizeof() to signedJulien Danjou1-2/+2
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28initialize global_id to 0Julien Danjou1-1/+1
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-17Bump to 1.1.91.1.1.911.1.90.1Peter Hutterer1-1/+1
2008-07-16Make EXTHEADERS, EXTSOURCES, EXTENSION_XML unconditional of configure flags.Julien Cristau1-45/+45
yay, make distcheck works now even when some extensions are disabled. Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-07-07fix FreeBSD supportPetr Salinger2-2/+13
The GNU/kFreeBSD (and BSDs in general) have a different layout of struct sockaddr, sockaddr_in, sockaddr_un ... The first member do not have to be "sa_family", they also have "sa_len" field. Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29Bump to 1.1.90.Peter Hutterer1-1/+1
2008-05-28Fix variable declaration formattingJosh Triplett1-2/+2
2008-05-21Add xcb_ge_event_t and handling for long events.Peter Hutterer2-2/+40
GenericEvent can be more than 32 bytes long. Ensure that the required data is pulled off the wire and tack it onto the event. Due to the structure of the xcb_generic_event_t, the data is appended AFTER the full_sequence field.
2008-05-01Fix libxcb/src compile with srcdir != builddir.Oswald Buddenhagen1-2/+2
2008-04-23Replace a stray c-client.xsl in the libxcb SOURCES. Fixes make distcheck.Eamon Walsh1-1/+1
2008-04-23Use the python install path from xcb-xproto.pc to locate the xcbgen package.Eamon Walsh3-4/+23
2008-04-20Add mention of PYTHONPATH if xcbgen cannot be found.Jeremy Kolb1-1/+2
2008-04-19Add Python parser C language-dependent part.Eamon Walsh3-11/+1010
2008-01-24Add SELinux extension support, disabled by default.Eamon Walsh5-1/+28
2008-01-24Add XInput extension support, disabled by default.Eamon Walsh5-1/+28
2008-01-15Inputs to AC_CONFIG_FILES are automatically distributed.Eamon Walsh1-65/+0
Hence, it is not necessary to explicitly add them to EXTRA_DIST.
2007-12-07Generated the configure.ac and Makefile.am's in libxcb with the idea ofEamon Walsh3-134/+303
making each extension library individually selectable for build. Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2007-12-07Merge branch 'master' of git+ssh://git.freedesktop.org/git/xcb/libxcbEamon Walsh3-11/+6
2007-11-24make IPv6 optionalBart Massey2-0/+6
2007-11-16Remove file that wasn't meant to be committed.Eamon Walsh1-11/+0
2007-11-16Merge branch 'master' of git+ssh://git.freedesktop.org/git/xcb/libxcbEamon Walsh9-20/+118
2007-11-16Add comment noting the requirement to free replies when finished.Eamon Walsh2-0/+13
2007-11-16Add generated comment noting requirement to free replies after use.Eamon Walsh1-0/+2
2007-11-04Release libxcb 1.11.1Jamey Sharp3-6/+64
2007-11-04Revert "Generate error constants as XCB_BAD_*, similar to Xlib."Jamey Sharp1-5/+0
Since several extensions named their errors like "BadFoo", this patch results in names like XCB_EXT_BAD_BAD_FOO, which is really awful. Those extensions are already kind of awful, as they produce structure names like xcb_ext_bad_foo_error_t, which is redundant. A patch that removes "Bad" from the XML extension descriptions, while maintaining API and ABI compatibility in XCB, is needed before this patch can be released. This reverts commit 158c9b6ba18b39f424bd524fceb66f3fec0d1616.
2007-10-28Don't hold the xlib-xcb lock while sleeping: that allows deadlock.Jamey Sharp1-1/+25
With this patch, `ico -threads 2` runs without deadlock. Many thanks to Christoph Pfister <christophpfister@gmail.com> for pointing out the problem, providing detailed analyses, explaining it to me repeatedly until I understood what was going on, and proposing and reviewing possible solutions. Signed-off-by: Jamey Sharp <jamey@minilop.net> Acked-by: Christoph Pfister <christophpfister@gmail.com>
2007-10-28Factor pthread_cond_wait(iolock) to _xcb_wait_io.Jamey Sharp3-3/+9
This parallels the _xcb_lock_io and _xcb_unlock_io factoring.
2007-10-23Don't abort() on locking assertions if LIBXCB_ALLOW_SLOPPY_LOCK is set.Jamey Sharp3-5/+9
But do still print a full backtrace, on platforms where that's supported. This commit follows the spirit of Novell's libxcb-sloppy-lock.diff. I strongly opposed proposals like this one for a long time. Originally I had a very good reason: libX11, when compiled to use XCB, would crash soon after a locking correctness violation, so it was better to have an informative assert failure than a mystifying crash soon after. It took some time for me to realize that I'd changed the libX11 implementation (for unrelated reasons) so that it could survive most invalid locking situations, as long as it wasn't actually being used from multiple threads concurrently. The other thing that has changed is that most of the code with incorrect locking has now been fixed. The value of the assert is accordingly lower. However, remaining broken callers do need to be fixed. That's why libXCB will still noisily print a stacktrace (if possible) on each assertion failure, even when assert isn't actually invoked to abort() the program; and that's why aborting is still default. This environment variable is provided only for use as a temporary workaround for broken applications. Signed-off-by: Jamey Sharp <jamey@minilop.net> Acked-by: Josh Triplett <josh@freedesktop.org>
2007-07-19Allow unix:<screen> style display names again.Egbert Eich1-32/+66
https://bugzilla.novell.com/show_bug.cgi?id=289007 This notion is used in a lot of scripts.
2007-06-13Send locking assertion backtraces to stderr. Improve the heading on the ↵Josh Triplett1-2/+2
backtrace.