diff options
author | Jamey Sharp <jamey@minilop.net> | 2006-07-30 14:55:14 -0700 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2006-07-30 17:03:27 -0700 |
commit | f74487e34fd61d11a501c07030f8fd7ed8caeb1c (patch) | |
tree | 616ade8bc7869351d4168029a992b291795dcd64 | |
parent | 13896d8f658b917e891aa18e0ac4906d630881bb (diff) |
Fix Keith's 32-bit wrap fix.
Issue 0, 1, or 2 syncs as needed and do not handle 16-bit wrap until
absolutely necessary.
-rw-r--r-- | src/xcb_out.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xcb_out.c b/src/xcb_out.c index 9a67ad2..56e02f7 100644 --- a/src/xcb_out.c +++ b/src/xcb_out.c @@ -163,8 +163,8 @@ unsigned int XCBSendRequest(XCBConnection *c, int flags, struct iovec *vector, c * Also send sync (could use NoOp) at 32-bit wrap to avoid having * applications see sequence 0 as that is used to indicate * an error in sending the request */ - if((req->isvoid && - c->out.request == c->in.request_expected + (1 << 16) - 2) || + while((req->isvoid && + c->out.request == c->in.request_expected + (1 << 16) - 1) || request == 0) { prefix[0] = sync.packet; |