Commit Graph

62 Commits

Author SHA1 Message Date
TORRI Vincent 01656220ef fixes + valid css 2006-03-05 09:22:03 +01:00
TORRI Vincent 6659c8c63b lots of fixes. Thanks to Indan Zupancic 2006-03-05 09:05:21 +01:00
TORRI Vincent 6e4745bbd0 lots of fixes. Thanks to Indan Zupancic 2006-03-05 07:54:20 +01:00
Josh Triplett df9c7cb4f9 Add *.tar.{bz2,gz} to .gitignore for the benefit of "make distcheck". 2006-03-04 18:35:53 -08:00
Jamey Sharp 29f9fe0fc8 API/ABI change: XCBSendRequest returns the sequence number instead of using an out-parameter. Now 0 is a special sequence number indicating failure. 2006-03-03 11:08:10 -08:00
Jamey Sharp 255c21b17f Add 32-bit full_sequence fields to generic errors and events, so callers can always correlate events and errors with requests correctly. 2006-03-03 01:45:00 -08:00
Jamey Sharp 622b599c8f Tweak to previous API change: Require that spare iovecs fall before vector[0]. Leave vector in well-defined state. 2006-03-02 23:39:38 -08:00
Jamey Sharp 87905f0579 assert() that XCBSendRequest was handed enough space to set opcodes and short length fields. 2006-03-02 23:31:35 -08:00
Jamey Sharp 45e1cc0935 Bugfix: The fixed-length part needs two iovecs reserved, just like all the other parts. 2006-03-02 23:12:21 -08:00
Jamey Sharp b46953f46c Use XPath position() function instead of xsl:number, to evaluate array indices while generating code for easier readability. 2006-03-02 23:05:08 -08:00
Jamey Sharp 5e115e2441 API/ABI change: XCBSendRequest callers must pad to 4-byte boundaries now. When not in RAW mode, a null pointer for iov_base is replaced by up to 3 padding bytes. 2006-03-02 15:35:31 -08:00
Jamey Sharp ed823bf651 Separate notion of request-completed from current-request, and mark requests completed more aggressively. Detects some usage errors that are otherwise undetectable. 2006-03-02 13:49:00 -08:00
Jamey Sharp c05ae15b66 Buffer a couple CARD32s on the stack instead of using an extra iovec. Also a bugfix: do not hold a reference to longlen after it goes out of scope. 2006-02-27 12:12:33 -08:00
Jamey Sharp 8f991bdd38 Add XCB_REQUEST_RAW flag for XCBSendRequest. 2006-02-27 11:03:13 -08:00
Jamey Sharp 5e350126a7 Bugfix: how about *not* leaking all pending_replies when no reply matches, as often happens with Xlib? 2006-02-27 10:53:08 -08:00
Jamey Sharp 731c85762d Move test for other writing threads *before* allocating a sequence number. 2006-02-27 02:57:36 -08:00
Jamey Sharp 8ab4dcde9d _xcb_list is no longer used, so remove it. Simplify _xcb_map. 2006-02-27 02:14:48 -08:00
Jamey Sharp 76ad79a7ad Replace readers generic list with hand-written typesafe version. 2006-02-27 01:43:07 -08:00
Jamey Sharp fa71b9b835 Rename struct XCBReplyData to reader_list to follow my naming conventions and better reflect its purpose. 2006-02-27 01:06:15 -08:00
Jamey Sharp ff665b5726 In struct XCBReplyData, change void *data to pthread_cond_t *data. That was dumb. 2006-02-27 00:54:59 -08:00
Jamey Sharp 50acfeae36 Delete unused xcb_list functions and refactor others. 2006-02-26 23:43:44 -08:00
Jamey Sharp 86ce18c22c Replace current_reply generic queue with hand-written version. No generic queues remain so delete their implementation. 2006-02-26 22:58:17 -08:00
Jamey Sharp 0f130b4d94 Replace events generic queue with hand-written typesafe version. 2006-02-26 18:28:50 -08:00
Jamey Sharp ff7b6c9124 API/ABI break: Add flags to XCBSendRequest, first for error-checked requests.
There's no more race condition between event and reply handling.
The *RequestBlind and *RequestChecked functions are not yet implemented.
2006-02-26 15:45:08 -08:00
Jamey Sharp 7875040fa1 Replace pending_replies generic queue with a hand-implemented typesafe version. 2006-02-26 02:00:03 -08:00
Jamey Sharp a1eff0c49a Replace my old generic map ADT with a growable array for the extension cache. 2006-02-26 01:27:01 -08:00
Jamey Sharp 46a7549981 XCB has not had tracing features for a long time: remove the remnants. 2006-02-25 23:27:47 -08:00
Jamey Sharp b6cbe83774 Rearrange an if statement that's been bothering me. 2006-02-25 23:26:55 -08:00
Jamey Sharp f27166f49b Coalesce _xcb_writev into _xcb_out_write and simplify. 2006-02-24 02:17:36 -08:00
Jamey Sharp 9463653b1e Take advantage of Requires and *.private fields for a more accurate pkg-config file. 2006-02-24 01:56:18 -08:00
Jamey Sharp bae98d3604 Move _xcb_set_fd_flags to xcb_conn.c and make it static. xcb_util.c now has only public functions. 2006-02-24 01:50:48 -08:00
Jamey Sharp 67b2649dc4 Move _xcb_read_block to xcb_in.c and make it static. Change calls in xcb_conn.c to _xcb_in_read_block instead. 2006-02-24 01:40:45 -08:00
Jamey Sharp 838317f4d3 Remove XCB_CEIL and use a simpler definition for XCB_PAD. 2006-02-24 01:17:03 -08:00
Jamey Sharp 1b50d2ee1e Quit using "-include config.h": use #ifdef HAVE_CONFIG_H etc. like everyone else. 2006-02-24 01:04:48 -08:00
Jamey Sharp e1c2777aba Coalesce readn into _xcb_in_read and simplify. 2006-02-24 00:59:08 -08:00
Jamey Sharp 3f8d0bd532 Move _xcb_readn to xcb_in.c and make it static. Minor change to _xcb_read_block to not depend on _xcb_readn. 2006-02-24 00:48:18 -08:00
Jamey Sharp cdf362f33a Bugfix: protect the output queue from being written while another thread is flushing it. 2006-02-24 00:25:34 -08:00
Jamey Sharp 4e91ae275e Simplify: Always use writev. (In _xcb_out_flush, convert the output queue to a single iovec if needed.) 2006-02-24 00:02:43 -08:00
Jamey Sharp 7f0bc778c8 Factor padding out of _xcb_out_write_block and into its callers, XCBSendRequest and write_setup.
This requires dynamically allocating memory in XCBSendRequest, but this
malloc/free pair turns out to cause a 30% speed hit for the 'x11perf -noop'
test -- so for the moment I use alloca where available and fall back to malloc
on other platforms. Later I think I'll change the contract of XCBSendRequest
so the caller is responsible for memory allocation, because the caller ought
to always be able to stack-allocate here.
2006-02-23 22:41:59 -08:00
Jamey Sharp 6e29e5f2ee Add XCBGetQueuedRequestRead for Xlib that does no syscalls, just returns whatever XCB already knows about. 2006-02-23 17:50:53 -08:00
Jamey Sharp 26ac6292ba Minor performance fix: Change the contract on XCBGetRequestSent so that it does not waste time re-locking. This is for Xlib, and Xlib has already locked. 2006-02-23 15:29:40 -08:00
Jamey Sharp a736674943 Minor performance fix: Only rearrange buffers for BIG-REQUESTs. 2006-02-23 14:57:46 -08:00
Jamey Sharp e866bed934 Move request_written update back where it was for now: doing it early can cause XCBWaitForReply to wrongly believe that the request has been flushed. Eventually, we should fix bug #6021. 2006-02-23 14:32:11 -08:00
Jamey Sharp 1b83f8f8f3 Remove _xcb_assert_valid_sequence. One test is trivially true, and the other may be temporarily violated without anything bad happening. 2006-02-23 14:30:08 -08:00
Jamey Sharp 55c1842686 Move _xcb_write and _xcb_writev to xcb_out.c and make them static, since only _xcb_out_write calls them. 2006-02-23 12:48:27 -08:00
Jamey Sharp 213b572592 Ignore test byproducts. 2006-02-23 12:34:08 -08:00
Jamey Sharp 6149c7a6b5 More return value changes, and make _xcb_in_read_packet static since it is not called from outside xcb_in.c. 2006-02-23 12:15:09 -08:00
Jamey Sharp 5b1d39e27b More return value changes. 2006-02-23 11:50:12 -08:00
Jamey Sharp 662479760c Make the return value of _xcb_conn_wait boolean, instead of syscall-like. 2006-02-23 10:17:40 -08:00
Jamey Sharp f8a8b465e0 Bugfix: move request_written update *before* _xcb_conn_wait in _xcb_out_flush. Otherwise a reply may be read before we record that we have sent the request, and then XCB gets... confused. 2006-02-22 23:38:16 -08:00