diff options
author | marha <marha@users.sourceforge.net> | 2009-07-25 12:47:39 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-07-25 12:47:39 +0000 |
commit | cb897b8ffca0a68c017c2edfa523cb5ff0491962 (patch) | |
tree | 8b4e9e320258d5280ce454163c49363030626c1a /libX11/src/Xxcbint.h | |
parent | 213d71f78d6f9e35b23c00e35f9919efc9670b1e (diff) | |
parent | c87efef42f76c2ff0dcfad2842ab369beffd21de (diff) | |
download | vcxsrv-cb897b8ffca0a68c017c2edfa523cb5ff0491962.tar.gz vcxsrv-cb897b8ffca0a68c017c2edfa523cb5ff0491962.tar.bz2 vcxsrv-cb897b8ffca0a68c017c2edfa523cb5ff0491962.zip |
svn merge file:///D:/svnrepos/vcxsrv/branches/released .
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 */ |