platform/upstream/libxcb.git
13 years agoxcb_take_socket: Document sequence wrap requirements
Uli Schlachter [Wed, 17 Nov 2010 19:26:11 +0000 (20:26 +0100)]
xcb_take_socket: Document sequence wrap requirements

If lots of requests are send without one causing a reply, xcb can get confused
about the current sequence number of a reply. Document the requirements of an
external socket owner to avoid this problem.

The return_socket callback for xcb_take_socket() originally was supposed to
return the last sequence number used, but the version committed to libxcb never
actually had this signature. This fixes the function's documentation not to
mention this non-existent return value.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoxcb_auth: Fix memory leak in _xcb_get_auth_info.
Nick Bowler [Thu, 11 Nov 2010 01:49:41 +0000 (20:49 -0500)]
xcb_auth: Fix memory leak in _xcb_get_auth_info.

If the initial get_peer_sock_name(getpeername ...) succeeds, the
pointer to allocated memory is overwritten by the later call to
get_peer_sock_name(getsockname ...).  Fix that up by freeing
the allocated memory before overwriting the pointer.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoAllow disconnecting connections that are in error state.
Josh Triplett [Sun, 19 Sep 2010 18:38:06 +0000 (20:38 +0200)]
Allow disconnecting connections that are in error state.

In support of this, consolidate the two static error_connection
definitions into one so we don't try to free the static out-of-memory
error_connection.

Commit by Josh Triplett and Jamey Sharp.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Jamey Sharp <jamey@minilop.net>
14 years ago_xcb_conn_wait: Shut down the connection on unexpected poll() events.
Jamey Sharp [Sat, 4 Sep 2010 17:17:21 +0000 (10:17 -0700)]
_xcb_conn_wait: Shut down the connection on unexpected poll() events.

If a client calls close(2) on the connection's file descriptor and then
flushes writes, libxcb causes a hang in the client.

Any flush eventually calls _xcb_out_send() with has the following loop:
   while(ret && *count)
       ret = _xcb_conn_wait(c, &c->out.cond, vector, count);

_xcb_conn_wait(), if built with USE_POLL, gets the POLLNVAL error. It only
checks for POLLIN and POLLOUT though, ignoring the error. Return value is 1,
count is unmodified, leaving us with an endless loop and a client hang.

XTS testcase Xlib3/XConnectionNumber triggers this bug. It creates a display
connection, closes its file descriptor, tries to send a no-op, and then expects
an error.
http://cgit.freedesktop.org/xorg/test/xts/tree/xts5/Xlib3/XConnectionNumber.m

If poll returned POLLHUP or POLLERR, we might see the same result.

If poll returns any event we didn't ask for, this patch causes
_xcb_conn_shutdown() to be invoked and an error returned. This matches the
behaviour if select(2) is used instead of poll(2): select(2) returns -1 and
EBADF for an already closed file descriptor.

I believe this fix both is safe and will handle any similar error. POSIX says
that the only bits poll is permitted to set in revents are those bits that were
set in events, plus POLLHUP, POLLERR, and POLLNVAL. So if we see any flags we
didn't ask for then something has gone wrong.

Patch inspired by earlier proposals from Peter Hutterer and Aaron
Plattner--thanks!

Reported-by: Peter Hutterer <peter.hutterer@who-t.net>
Reported-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Aaron Plattner <aplattner@nvidia.com>
Cc: Peter Hutterer <peter.hutterer@who-t.net>
Cc: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
14 years agoMerge branch 'master' of git://github.com/topcat/xcb-win32
Peter Harris [Tue, 31 Aug 2010 22:33:36 +0000 (18:33 -0400)]
Merge branch 'master' of git://github.com/topcat/xcb-win32

Conflicts:
src/xcb_conn.c
src/xcb_util.c

Signed-off-by: Peter Harris <pharris@opentext.com>
14 years agoxcb_disconnect: call shutdown() to force a disconnect
Aaron Plattner [Tue, 17 Aug 2010 15:04:41 +0000 (08:04 -0700)]
xcb_disconnect: call shutdown() to force a disconnect

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@debian.org>
Signed-off-by: Peter Harris <pharris@opentext.com>
14 years agoxcb_request_check: Sync even if an event was read for this sequence.
Jamey Sharp [Tue, 24 Aug 2010 16:17:38 +0000 (09:17 -0700)]
xcb_request_check: Sync even if an event was read for this sequence.

This fixes the test case I have so far for Havoc's report that
xcb_request_check hangs.

Rationale: Since we have a void cookie, request_expected can't have been
set equal to this sequence number when the request was sent; it can only
have become equal due to the arrival of an event or error. If it became
equal due to an event then we still need to sync. If it became equal due
to an error, then request_completed will have been updated, which means
we correctly won't sync.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29599

However, Havoc reports that he can still reproduce the problem, so we
may be revisiting this later.

Reported-by: Havoc Pennington <hp@pobox.com>
Signed-off-by: Jamey Sharp <jamey@minilop.net>
14 years agoRelease libxcb 1.7 1.7
Julien Danjou [Fri, 13 Aug 2010 11:46:37 +0000 (13:46 +0200)]
Release libxcb 1.7

Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoTutorial uses wrong function.
Eamon Walsh [Thu, 5 Aug 2010 04:48:08 +0000 (00:48 -0400)]
Tutorial uses wrong function.

https://bugs.freedesktop.org/show_bug.cgi?id=29392

Signed-off-by: Eamon Walsh <efw@eamonwalsh.com>
14 years ago_xcb_conn_wait: Fix whitespace.
Jamey Sharp [Tue, 13 Jul 2010 14:01:06 +0000 (07:01 -0700)]
_xcb_conn_wait: Fix whitespace.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
14 years agoAC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin])
Jeremy Huddleston [Mon, 12 Jul 2010 23:53:53 +0000 (16:53 -0700)]
AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin])

launchd: Explicitly search /sbin

Previously, launchd wasn't found if /sbin wasn't in the user's PATH.
https://bugs.freedesktop.org/show_bug.cgi?id=29028

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
14 years agoconfigure.ac: Report which extensions are being built.
Vincent Torri [Mon, 21 Jun 2010 03:50:06 +0000 (20:50 -0700)]
configure.ac: Report which extensions are being built.

I was surprised to see that xinput was not installed. Looking at
configure.ac, it seems that it is disabled by default. Maybe configure
should output the status of the different extensions.

14 years agoxcb_connect_to_display_with_auth_info: Fix memory leak
Pauli Nieminen [Fri, 11 Jun 2010 13:30:47 +0000 (16:30 +0300)]
xcb_connect_to_display_with_auth_info: Fix memory leak

protocol and host are allocated in _xcb_parse_display but ownership of
them is passed to the caller. They have to be freed in
xcb_connect_to_display_with_auth_info.

Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
14 years ago_xcb_parse_display: Fix error path
Pauli Nieminen [Fri, 11 Jun 2010 13:30:46 +0000 (16:30 +0300)]
_xcb_parse_display: Fix error path

xcb_parse_display claims that there is no side effects when failing.
That requires _xcb_parse_display to free the memory in failure case.

Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
14 years agoxcb_open: Improve protocol/host parsing
Jeremy Huddleston [Thu, 13 May 2010 02:53:45 +0000 (19:53 -0700)]
xcb_open: Improve protocol/host parsing

Support scenarios where host is not set and protocol is.  eg:

DISPLAY=tcp/:0

as well as the "inet" and "inet6" alias for "tcp" for compatability
with Xlib

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
14 years agoAdd ~ operator support in code generator
Marcin Kościelnicki [Thu, 13 May 2010 21:05:57 +0000 (21:05 +0000)]
Add ~ operator support in code generator

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoFix GCC error on undeclared variable when not using abstract socket
Arnaud Fontaine [Fri, 30 Apr 2010 17:49:18 +0000 (18:49 +0100)]
Fix GCC error on undeclared variable when not using abstract socket

This is a regression found by tinderbox in previous commit:

xcb_util.c: In function '_xcb_open':
xcb_util.c:213: error: 'fd' undeclared (first use in this function)

14 years agoGet rid of PATH_MAX and MAXPATHLEN
Arnaud Fontaine [Fri, 30 Apr 2010 12:47:16 +0000 (14:47 +0200)]
Get rid of PATH_MAX and MAXPATHLEN

There could be no upper limit on the length of a path according
to POSIX, therefore these macros may not be defined at all on
some systems (such as GNU Hurd).

Signed-off-by: Arnaud Fontaine <arnau@debian.org>
Reviewed-by: Peter Harris <pharris@opentext.com>
14 years agoUse limits.h instead of syslimits.h
Jeremy Huddleston [Sat, 24 Apr 2010 04:57:26 +0000 (21:57 -0700)]
Use limits.h instead of syslimits.h

Regression found by tinderbox in 89b3485dadef47a30264a5bf150b96522183376b

xcb_util.c:31:27: error: sys/syslimits.h: No such file or directory
xcb_util.c: In function '_xcb_open':
xcb_util.c:148: error: 'PATH_MAX' undeclared (first use in this function)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
14 years agoReworked launchd support to work better with _xcb_parse_display
Jeremy Huddleston [Sat, 24 Apr 2010 00:29:25 +0000 (17:29 -0700)]
Reworked launchd support to work better with _xcb_parse_display

Fixes: http://xquartz.macosforge.org/trac/ticket/390

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
14 years agoReplaced read() in read_block and _xcb_in_read() with recv for all
Jeetu Golani [Thu, 22 Apr 2010 19:17:16 +0000 (00:47 +0530)]
Replaced read() in read_block and _xcb_in_read() with recv for all
platforms. MSG_WAITALL is undefined in MinGW so it's been explicitly
defined in xcb_in.c

14 years agoSet errno=0 in read_block. On Win32 there is no errno and this makes the
Jeetu Golani [Thu, 22 Apr 2010 17:53:27 +0000 (23:23 +0530)]
Set errno=0 in read_block. On Win32 there is no errno and this makes the
do..while loop execute only once. Also set the return value to -1 in
_xcb_open if control reaches the end - if all goes well it shouldn't
reach there.

14 years agoAlways wake up readers after writing.
Jamey Sharp [Sun, 18 Apr 2010 00:59:11 +0000 (17:59 -0700)]
Always wake up readers after writing.

Since writers must make sure they read as well, threads may have gone to
sleep waiting for the opportunity to read. The writer must wake up one
of those readers or the application can hang.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Josh Triplett <josh@freedesktop.org>
14 years agoFix strict-aliasing warning when getting generic event length.
Jamey Sharp [Sun, 28 Mar 2010 17:31:55 +0000 (10:31 -0700)]
Fix strict-aliasing warning when getting generic event length.

xcb_ge_event_t has its length field in the same place that
xcb_generic_reply_t does, so there's no need to cast the generic reply.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Cc: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Danjou <julien@danjou.info>
14 years agoDelete a useless level of indirection from _xcb_out_send's parameters.
Jamey Sharp [Fri, 12 Feb 2010 20:25:05 +0000 (12:25 -0800)]
Delete a useless level of indirection from _xcb_out_send's parameters.

_xcb_out_send needs _xcb_conn_wait to store back its progress so it can
be reinvoked to pick up where it left off---but then _xcb_out_send
guarantees that it leaves either an empty output vector or a shut-down
connection, so *its* callers never care how much progress was made.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Josh Triplett <josh@freedesktop.org>
14 years agoRelease libxcb 1.6 1.6
Julien Danjou [Fri, 9 Apr 2010 14:57:51 +0000 (16:57 +0200)]
Release libxcb 1.6

14 years agoFail if fd is too big and poll() is not available
Rémi Denis-Courmont [Fri, 26 Mar 2010 21:12:47 +0000 (23:12 +0200)]
Fail if fd is too big and poll() is not available

Depending on the process file limit, a file descriptor can be larger
than the capacity of fd_set. There is no portable way to create a
large enough fd_set at run-time. So we just fail if the file descriptor
number is too high and poll() is not available.

Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoxcb_in.c #ifndef _WIN32 inside of #if USE_POLL redundant and removed
Jeetu Golani [Wed, 31 Mar 2010 16:30:04 +0000 (22:00 +0530)]
xcb_in.c #ifndef _WIN32 inside of #if USE_POLL redundant and removed

14 years agorestablished inclusion of fcntl.h and netinet/tcp.h in xcb_util.c -- without these...
Jeetu Golani [Wed, 31 Mar 2010 04:20:51 +0000 (09:50 +0530)]
restablished inclusion of fcntl.h and netinet/tcp.h in xcb_util.c -- without these the code no longer compiled on *ix

14 years agochanges in xcb_windefs.h - the flag _XCB_WINDEFS_H replaces WINDEFS_H
Jeetu Golani [Mon, 29 Mar 2010 17:07:33 +0000 (22:37 +0530)]
changes in xcb_windefs.h - the flag  _XCB_WINDEFS_H replaces WINDEFS_H

14 years agowindefs.h is now called xcb_windefs.h - changed all includes to reflect that.Replaced...
Jeetu Golani [Mon, 29 Mar 2010 17:01:49 +0000 (22:31 +0530)]
windefs.h is now called xcb_windefs.h - changed all includes to reflect that.Replaced one instance ofWIN32 with _WIN32 in each xcb_in.c and xcb_conn.c

14 years agoWin32 code for xcb-1.5
Jeetu Golani [Fri, 26 Mar 2010 04:10:09 +0000 (09:40 +0530)]
Win32 code for xcb-1.5

14 years agoFix authentication on hpux and Hurd
Samuel Thibault [Fri, 12 Mar 2010 22:51:32 +0000 (23:51 +0100)]
Fix authentication on hpux and Hurd

libxcb's 010e5661 (Fix XDM-AUTHORIZATION-1 (bug #14202)) mistakenly
inverted a few lines of code, making local socket authentication fail on
hpux and Hurd: when getpeername fails, sockname needs to be initialized
by getsockname before its address family can be checked.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoOpen the X11 socket with close-on-exec flag
Rémi Denis-Courmont [Sat, 13 Feb 2010 10:23:51 +0000 (12:23 +0200)]
Open the X11 socket with close-on-exec flag

This saves the X11 connection from leaking into children processes.
On Linux, this is fully thread-safe using SOCK_CLOEXEC. On other
systems, there is a small race condition.

Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoSupport xcb_discard_reply
Peter Harris [Tue, 9 Feb 2010 21:27:22 +0000 (16:27 -0500)]
Support xcb_discard_reply

This function is useful for dynamic language garbage collectors. Frequently
a GC cycle may run before you want to block wainting for a reply.

This function is also marginally useful for libxcb apps that issue
speculative requests (eg. xlsclients).

Reviewed-by: Jamey Sharp <jamey@minilop.net>
Tested-by: Eamon Walsh <efw@eamonwalsh.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
14 years agoxcb_connect_to_fd: fix descriptor leak on memory error path
Rémi Denis-Courmont [Thu, 7 Jan 2010 16:08:35 +0000 (18:08 +0200)]
xcb_connect_to_fd: fix descriptor leak on memory error path

Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoconfigure.ac: Fix a typo on the last commit.
Jeremy Huddleston [Sat, 12 Dec 2009 01:24:43 +0000 (17:24 -0800)]
configure.ac: Fix a typo on the last commit.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
14 years agodarwin: xnu doesn't support poll on ttys on the master side.
Jeremy Huddleston [Sat, 12 Dec 2009 01:15:16 +0000 (17:15 -0800)]
darwin: xnu doesn't support poll on ttys on the master side.

<rdar://problem/7360546>

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
14 years agoTutorial code fix
Jim Ingram [Mon, 7 Dec 2009 20:41:18 +0000 (14:41 -0600)]
Tutorial code fix

Accessed elements of names[] after freeing them in the first example.

Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoDRI2 extension requires xcb-proto 1.6 or newer
Rémi Cardona [Fri, 4 Dec 2009 21:06:20 +0000 (22:06 +0100)]
DRI2 extension requires xcb-proto 1.6 or newer

Signed-off-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agobuild: simplify extension building
Julien Danjou [Thu, 3 Dec 2009 10:34:18 +0000 (11:34 +0100)]
build: simplify extension building

Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agoRelease libxcb 1.5 1.5
Julien Danjou [Thu, 3 Dec 2009 09:08:59 +0000 (10:08 +0100)]
Release libxcb 1.5

Signed-off-by: Julien Danjou <julien@danjou.info>
14 years agosetsockopt(SO_KEEPALIVE) on TCP display connections.
Adam Jackson [Wed, 2 Dec 2009 19:31:56 +0000 (14:31 -0500)]
setsockopt(SO_KEEPALIVE) on TCP display connections.

This matches xtrans behaviour in SocketINETConnect, and makes it so apps
don't hang forever if their display dies.

Signed-off-by: Adam Jackson <ajax@redhat.com>
15 years agoAdd DRI2 support. (v2)
Eric Anholt [Thu, 15 Oct 2009 20:13:47 +0000 (13:13 -0700)]
Add DRI2 support. (v2)

v2: Build fix from jcristau.

15 years agoFix typo in the tutorial.
Eric Anholt [Thu, 15 Oct 2009 20:14:49 +0000 (13:14 -0700)]
Fix typo in the tutorial.

15 years agoDon't build docs if 'dot' is not found Signed-off-by: Paulo R. Zanoni <pzanoni@mandri...
Paulo R. Zanoni [Fri, 18 Sep 2009 18:05:46 +0000 (15:05 -0300)]
Don't build docs if 'dot' is not found Signed-off-by: Paulo R. Zanoni <pzanoni@mandriva.com>

15 years agoFix check dependency
Julien Cristau [Mon, 31 Aug 2009 15:51:36 +0000 (17:51 +0200)]
Fix check dependency

Bugzilla #21992

make -j check fails because the check-local rule gets executed before
the tests actually ran, so CheckLog*.xml doesn't exist.

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoCygwin build fix: Add -no-undefined to libtool flags
Yaakov Selkowitz [Sat, 6 Jun 2009 14:52:20 +0000 (15:52 +0100)]
Cygwin build fix: Add -no-undefined to libtool flags

-no-undefined is needed to tell libtool a shared library can be built
on platforms which require all references to be statisfied at link time.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoRelease libxcb 1.4 1.4
Arnaud Fontaine [Wed, 15 Jul 2009 15:15:02 +0000 (16:15 +0100)]
Release libxcb 1.4

15 years agoAdd majorCode, minorCode and resourceID fields to X generic error
Arnaud Fontaine [Wed, 15 Jul 2009 15:03:56 +0000 (16:03 +0100)]
Add majorCode, minorCode and resourceID fields to X generic error

15 years agoFix precedence bug: wrong length for big-requests preceded by sync.
Jamey Sharp [Mon, 6 Jul 2009 20:14:35 +0000 (13:14 -0700)]
Fix precedence bug: wrong length for big-requests preceded by sync.

Also replace excessively clever use of bitwise OR with equivalent
addition.

Reported-by: Geoffrey Li <geoffrey@seitopos.com>
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Josh Triplett <josh@joshtriplett.org>
15 years agoFix libxcb-randr version info
Julien Cristau [Fri, 29 May 2009 12:41:59 +0000 (14:41 +0200)]
Fix libxcb-randr version info

The SONAME shouldn't have been bumped in 1.3, only new symbols were
added.

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoRelease libxcb 1.3 1.3
Julien Danjou [Fri, 29 May 2009 06:26:05 +0000 (08:26 +0200)]
Release libxcb 1.3

15 years agoDisable Nagle on TCP socket
elupus [Tue, 26 May 2009 14:14:48 +0000 (16:14 +0200)]
Disable Nagle on TCP socket

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoStore xcbproto version libxcb was compiled with
Bob Ham [Mon, 25 May 2009 10:20:23 +0000 (12:20 +0200)]
Store xcbproto version libxcb was compiled with

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agodepends on recent xcb-proto and bump version of randr
Julien Danjou [Sat, 9 May 2009 15:39:34 +0000 (17:39 +0200)]
depends on recent xcb-proto and bump version of randr

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoFix XDM-AUTHORIZATION-1 (bug #14202)
Bart Massey [Tue, 21 Apr 2009 06:39:52 +0000 (08:39 +0200)]
Fix XDM-AUTHORIZATION-1 (bug #14202)

With this patch, we know use correctly the socket address or peer
address for authentication purpose.

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoutil: remove useless strlen calls from decnet opening
Julien Danjou [Tue, 7 Apr 2009 12:22:57 +0000 (14:22 +0200)]
util: remove useless strlen calls from decnet opening

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoutil: merge common code for xcb_connect
Julien Danjou [Tue, 7 Apr 2009 12:18:40 +0000 (14:18 +0200)]
util: merge common code for xcb_connect

Many code was duplicated between xcb_connect_to_display_with_auth_info
and xcb_connect(). We merge both, since the difference is just about the
xcb_auth_info_t pointer being supplied, or not.

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoutil: open_abstract gets filelen as parameters
Julien Danjou [Tue, 7 Apr 2009 11:37:40 +0000 (13:37 +0200)]
util: open_abstract gets filelen as parameters

That saves us from a couple of strlen() calls.

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoauth: use snprintf() return value
Julien Danjou [Tue, 7 Apr 2009 09:55:30 +0000 (11:55 +0200)]
auth: use snprintf() return value

That save us from a strlen().

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoauth: precompute authnameslen
Julien Danjou [Tue, 7 Apr 2009 09:49:13 +0000 (11:49 +0200)]
auth: precompute authnameslen

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agodarwin: Don't use poll() on versions of darwin before darwin10
Jeremy Huddleston [Thu, 9 Apr 2009 12:12:02 +0000 (05:12 -0700)]
darwin: Don't use poll() on versions of darwin before darwin10

15 years agoLocal socket connections do not work on hurd-i386
Samuel Thibault [Mon, 6 Apr 2009 01:31:23 +0000 (03:31 +0200)]
Local socket connections do not work on hurd-i386

Local socket connections currently do not work on hurd-i386 because
xcb_auth calls getpeername() on the client socket, but hurd-i386 does
not implement anything in that case (I actually wonder what reasonable
value could be returned).  In such case the xcb code does not actually
need the peer name anyway.

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agouse poll() instead of select() when available
Michael Ost [Mon, 30 Mar 2009 09:09:32 +0000 (11:09 +0200)]
use poll() instead of select() when available

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agokludgily hand-merged xid fixes
Bart Massey [Tue, 24 Mar 2009 23:24:04 +0000 (16:24 -0700)]
kludgily hand-merged xid fixes

Signed-off-by: Bart Massey <bart@cs.pdx.edu>
Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoFix do_append() arguments
Julien Danjou [Mon, 16 Mar 2009 09:26:02 +0000 (10:26 +0100)]
Fix do_append() arguments

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoCopy full IPv4 mapping (Bug #20665)
Julien Danjou [Sun, 15 Mar 2009 09:18:50 +0000 (10:18 +0100)]
Copy full IPv4 mapping (Bug #20665)

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoAvoid name collisions between xidtype and enum.
Peter Harris [Fri, 13 Mar 2009 19:24:55 +0000 (15:24 -0400)]
Avoid name collisions between xidtype and enum.

These changes are necessary to build with latest xcb/proto.

Signed-off-by: Peter Harris <pharris@opentext.com>
15 years agoRevert "Don't use enums in generated C code"
Peter Harris [Fri, 13 Mar 2009 19:25:30 +0000 (15:25 -0400)]
Revert "Don't use enums in generated C code"

This commit broke xcb/util.

This reverts commit 9984b72888108a038d6b3f7dee374d17e26ef9e2.

Signed-off-by: Peter Harris <pharris@opentext.com>
15 years agoDon't use enums in generated C code - use integer constants instead.
Peter Harris [Wed, 25 Feb 2009 23:48:50 +0000 (18:48 -0500)]
Don't use enums in generated C code - use integer constants instead.

Signed-off-by: Peter Harris <pharris@opentext.com>
15 years agoRelease libxcb 1.2 1.2
Julien Danjou [Tue, 17 Feb 2009 12:37:29 +0000 (13:37 +0100)]
Release libxcb 1.2

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoStop providing autogenerated files in tarball
Julien Danjou [Mon, 16 Feb 2009 10:44:20 +0000 (11:44 +0100)]
Stop providing autogenerated files in tarball

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoRelease libxcb 1.1.93 1.1.93
Julien Danjou [Thu, 11 Dec 2008 10:17:13 +0000 (11:17 +0100)]
Release libxcb 1.1.93

Signed-off-by: Julien Danjou <julien@danjou.info>
15 years agoShutup compiler warning about unused variable...
Jeremy Huddleston [Mon, 24 Nov 2008 01:25:21 +0000 (17:25 -0800)]
Shutup compiler warning about unused variable...

15 years agoApple: Apple launchd cleanup
Jeremy Huddleston [Mon, 24 Nov 2008 01:23:17 +0000 (17:23 -0800)]
Apple: Apple launchd cleanup
Added --with-launchd option instead of just using __APPLE__
Fixed opening launchd fd when displayname=NULL

15 years agoApple: Enable support for launchd DISPLAY socket
Jeremy Huddleston [Sat, 8 Nov 2008 22:41:23 +0000 (14:41 -0800)]
Apple: Enable support for launchd DISPLAY socket

15 years agoTreat XIDs the same as other cardinal values.
Peter Harris [Wed, 12 Nov 2008 19:45:04 +0000 (14:45 -0500)]
Treat XIDs the same as other cardinal values.

This fixes a bug where c_client.py wasn't generating *_end functions,
but expected them to exist in order to find the subsequent list's start.

Signed-off-by: Peter Harris <peter.harris@hummingbird.com>
16 years agoRelease libxcb 1.1.92 1.1.92
Julien Danjou [Tue, 4 Nov 2008 09:19:14 +0000 (10:19 +0100)]
Release libxcb 1.1.92

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoSupport handing off socket write permission to external code.
Josh Triplett [Mon, 17 Mar 2008 06:16:31 +0000 (23:16 -0700)]
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.

16 years agoTrack 64-bit sequence numbers internally.
Jamey Sharp [Wed, 21 May 2008 21:44:16 +0000 (14:44 -0700)]
Track 64-bit sequence numbers internally.

External APIs that used 32-bit sequence numbers continue to do so.

Commit by Josh Triplett and Jamey Sharp.

16 years agoUse sequence number ranges in pending replies
Jamey Sharp [Sat, 15 Mar 2008 03:18:52 +0000 (20:18 -0700)]
Use sequence number ranges in pending replies

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.

16 years agoInline _xcb_lock_io, _xcb_unlock_io, and _xcb_wait_io.
Jamey Sharp [Fri, 14 Mar 2008 19:08:58 +0000 (12:08 -0700)]
Inline _xcb_lock_io, _xcb_unlock_io, and _xcb_wait_io.

These functions are once again a single pthread call, so just make that
call directly.

16 years agoRemove libxcb-xlib and xcbxlib.h.
Jamey Sharp [Fri, 14 Mar 2008 19:08:32 +0000 (12:08 -0700)]
Remove libxcb-xlib and xcbxlib.h.

16 years agobuild: fix configure.ac AC_DEFINE
Julien Danjou [Tue, 14 Oct 2008 21:39:07 +0000 (23:39 +0200)]
build: fix configure.ac AC_DEFINE

Rather use AC_DEFINE_UNQUOTED and only once.

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoallow compile-time setting for XCB queue buffer size
Julien Danjou [Fri, 26 Sep 2008 13:26:42 +0000 (15:26 +0200)]
allow compile-time setting for XCB queue buffer size

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoRemove duplicate XCB_EXTENSION calls for Composite extension
Josh Triplett [Wed, 8 Oct 2008 23:04:25 +0000 (16:04 -0700)]
Remove duplicate XCB_EXTENSION calls for Composite extension

16 years agofix tiny memory leak in read_packet (leak only happens when malloc returns NULL so...
Henning Sten [Sat, 20 Sep 2008 11:08:58 +0000 (13:08 +0200)]
fix tiny memory leak in read_packet (leak only happens when malloc returns NULL so it's very rare)

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoAdded generation of extern "C" for compatibility with C++
Carsten Meier [Tue, 9 Sep 2008 10:11:37 +0000 (12:11 +0200)]
Added generation of extern "C" for compatibility with C++

The auto-generated header files now include an extern "C"
declaration for compatibility with C++.

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoAdd support for the abstract socket namespace under Linux
Julien Cristau [Tue, 9 Sep 2008 03:42:36 +0000 (04:42 +0100)]
Add support for the abstract socket namespace under Linux

Based on same in Xtrans.

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoFix some fd leaks in _xcb_open_*()
Julien Cristau [Tue, 9 Sep 2008 03:42:35 +0000 (04:42 +0100)]
Fix some fd leaks in _xcb_open_*()

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agofixed overly aggressive warning about fixed field following variable
Bart Massey [Wed, 3 Sep 2008 20:52:58 +0000 (13:52 -0700)]
fixed overly aggressive warning about fixed field following variable

16 years agoadded small fix to support trailing fixed fields; also warning for non-pad fixed...
Bart Massey [Sun, 31 Aug 2008 07:42:23 +0000 (00:42 -0700)]
added small fix to support trailing fixed fields; also warning for non-pad fixed fields

16 years agofactorize m4 macros and add one to set X extensions
Vincent Torri [Sun, 31 Aug 2008 08:33:31 +0000 (10:33 +0200)]
factorize m4 macros and add one to set X extensions

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoInitialize all fields of addrinfo
Julien Danjou [Thu, 28 Aug 2008 12:35:54 +0000 (14:35 +0200)]
Initialize all fields of addrinfo

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoUse ifdef instead of if for defined value
Julien Danjou [Thu, 28 Aug 2008 11:51:38 +0000 (13:51 +0200)]
Use ifdef instead of if for defined value

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoSet namelen unsigned
Julien Danjou [Wed, 27 Aug 2008 11:56:28 +0000 (13:56 +0200)]
Set namelen unsigned

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoRename index to idx to avoid shadowing
Julien Danjou [Wed, 27 Aug 2008 11:56:26 +0000 (13:56 +0200)]
Rename index to idx to avoid shadowing

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoUse a signed size in read_block()
Julien Danjou [Wed, 27 Aug 2008 11:56:25 +0000 (13:56 +0200)]
Use a signed size in read_block()

Signed-off-by: Julien Danjou <julien@danjou.info>
16 years agoUse unsigned to compare and rename sync
Julien Danjou [Wed, 27 Aug 2008 11:56:24 +0000 (13:56 +0200)]
Use unsigned to compare and rename sync

- i must be unsigned to be compare in the loop
- sync shadow global sync() function

Signed-off-by: Julien Danjou <julien@danjou.info>