diff options
Diffstat (limited to 'libX11/src/Xxcbint.h')
-rw-r--r-- | libX11/src/Xxcbint.h | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/libX11/src/Xxcbint.h b/libX11/src/Xxcbint.h index cc73749aa..f6afa1834 100644 --- a/libX11/src/Xxcbint.h +++ b/libX11/src/Xxcbint.h @@ -5,36 +5,37 @@ #define XXCBINT_H #include <assert.h> +#include <stdint.h> #include <X11/Xlibint.h> #include <X11/Xlib-xcb.h> -#include "locking.h" /* really just want X11/Xthreads.h but can't have it. */ +#include "locking.h" -#define XCB_SEQUENCE_COMPARE(a,op,b) ((int) ((a) - (b)) op 0) -#define assert_sequence_less(a,b) assert(XCB_SEQUENCE_COMPARE((a), <=, (b))) +#define XLIB_SEQUENCE_COMPARE(a,op,b) (((long) (a) - (long) (b)) op 0) typedef struct PendingRequest PendingRequest; struct PendingRequest { PendingRequest *next; - xcondition_rec condition; - int waiters; /* Number of threads waiting; -1 if no wait needed */ - unsigned int sequence; + unsigned long sequence; }; typedef struct _X11XCBPrivate { - struct _XLockPtrs lock_fns; xcb_connection_t *connection; PendingRequest *pending_requests; PendingRequest **pending_requests_tail; xcb_generic_event_t *next_event; - const char *request_extra; - int request_extra_size; - char *partial_request; - int partial_request_offset; + char *real_bufmax; char *reply_data; int reply_length; int reply_consumed; + uint64_t last_flushed; enum XEventQueueOwner event_owner; XID next_xid; + + /* handle simultaneous threads waiting for events, + * used in wait_or_poll_for_event + */ + xcondition_t event_notify; + int event_waiter; } _X11XCBPrivate; /* xcb_disp.c */ @@ -42,15 +43,4 @@ typedef struct _X11XCBPrivate { int _XConnectXCB(Display *dpy, _Xconst char *display, char **fullnamep, int *screenp); void _XFreeX11XCBStructure(Display *dpy); -/* xcb_lock.c */ - -int _XCBInitDisplayLock(Display *dpy); -void _XCBShutdownDisplayLock(Display *dpy); - -/* _XGetXCBBuffer and _XPutXCBBuffer calls must be paired and must not - * be nested. */ - -void _XGetXCBBuffer(Display *dpy); -void _XPutXCBBuffer(Display *dpy); - #endif /* XXCBINT_H */ |