[Xcb] XCBSync and XCBFlush

Barton C Massey bart at cs.pdx.edu
Wed Jun 28 00:30:12 PDT 2006


I'm probably wrong about this, so please someone correct me,
but my recollection is:

XCBSync() is equivalent to doing some no-op operation that
expects a reply in the protocol.  You could replace it with
a call to XCBGetInputFocus() and immediately force the reply
cookie, which is how it is currently implemented in
xcb_util.c .  A call to XCBSync() takes a round trip, and
thus ensures that any events or errors generated prior to
the call will be available once it is complete.

XCBFlush() merely ensures that any requests waiting in XCB's
request buffer are forced onto the wire.  No effort is made
to ensure that they get any farther than that.  After an
XCBFlush(), you can safely assume that the server will work
on your requests up to that point in the order received.

Hope this helps.

	Bart

In message <Pine.LNX.4.51.0606280910210.6186 at cartan.iecn.u-nancy.fr> you wrote:
> 
> Hello,
> 
> XCBSync is now deprecated in xcb. So now, I need to change a bit the code
> of the xcb evas engine. But how ??
> 
> Now, it seems that I have 2 solutions:
> 
> 1) remove XCBSync
> 2) use XCBFlush instead
> 
> My questions are:
> 
> 1) When is it possible to remove XCBSync. Is it only 'a posteriori' ?
> 2) If i can't remove XCBSync, is using XCBFlush always sufficient ?
> 3) Is there any good doc about the differences of these 2 functions ?
> 
> thank you
> 
> Vincent
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb


More information about the Xcb mailing list