[Xcb] [PATCH v2] Support xcb_discard_reply (was Do not block when calling reply() multiple times)

Peter Harris pharris at opentext.com
Fri Feb 5 09:07:30 PST 2010


On 2010-02-04 21:42, Eamon Walsh wrote:
> Peter Harris wrote:
>>
>> Ah, good point. No, it does not work with _unchecked() calls. I didn't
>> test that because reply-expecting calls have the 'checked' flag by default.
>>
>> Is discarding _unchecked replies important? If so, I can fix it. If not,
>> I can document it.
> 
> The use case that motivated this thread is that in xpyb, XCB cookies are
> represented by objects, and when a cookie object gets garbage collected,
> we want to make sure that the associated reply (or replies) have been
> cleaned up.  It would be great if I could just blindly call a function
> from the cookie destructor to do this, regardless of what the request is
> or what the user has done so far.  So I'd say that ideally yes, it
> should work for _unchecked calls.

Okay. Fixed in the attached patch.

It should even be safe to call xcb_discard_reply multiple times for the
same sequence number (modulo bugs, of course).

>> My current beef with the patch is that it requires horrible typecast
>> gymnastics to convert a specific cookie type to an xcb_void_cookie_t.
> 
> In response to the discussion of the cookie sequence number being
> "opaque," in a strict C language sense this is not true.  The sequence
> field is visible in the public API.  Within xpyb, xcb_wait_for_reply()
> is being used at present.  So, I'd say it would be fine to use the
> sequence directly in another API call.

That seems to be the consensus, so that's what I've done for this
version of the patch.

Peter Harris
-- 
               Open Text Connectivity Solutions Group
Peter Harris                    http://connectivity.opentext.com/
Research and Development        Phone: +1 905 762 6001
pharris at opentext.com            Toll Free: 1 877 359 4866
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-Support-xcb_discard_reply.patch
Url: http://lists.freedesktop.org/archives/xcb/attachments/20100205/a32647a6/attachment.ksh 


More information about the Xcb mailing list