void xcb_prefetch_extension_data(xcb_connection_t *c, xcb_extension_t *ext) { if(c->has_error) return; pthread_mutex_lock(&c->ext.lock); get_lazyreply(c, ext); pthread_mutex_unlock(&c->ext.lock); }
/* Do not free the returned XCBQueryExtensionRep - on return, it's aliased * from the cache. */ const XCBQueryExtensionRep *XCBGetExtensionData(XCBConnection *c, XCBExtension *ext) { lazyreply *data; pthread_mutex_lock(&c->ext.lock); data = get_lazyreply(c, ext); if(data && data->tag == LAZY_COOKIE) { data->tag = LAZY_FORCED; data->value.reply = XCBQueryExtensionReply(c, data->value.cookie, 0); } pthread_mutex_unlock(&c->ext.lock); return data ? data->value.reply : 0; }
/* Do not free the returned xcb_query_extension_reply_t - on return, it's aliased * from the cache. */ const xcb_query_extension_reply_t *xcb_get_extension_data(xcb_connection_t *c, xcb_extension_t *ext) { lazyreply *data; if(c->has_error) return 0; pthread_mutex_lock(&c->ext.lock); data = get_lazyreply(c, ext); if(data && data->tag == LAZY_COOKIE) { data->tag = LAZY_FORCED; data->value.reply = xcb_query_extension_reply(c, data->value.cookie, 0); } pthread_mutex_unlock(&c->ext.lock); return data ? data->value.reply : 0; }
void XCBPrefetchExtensionData(XCBConnection *c, XCBExtension *ext) { pthread_mutex_lock(&c->ext.lock); get_lazyreply(c, ext); pthread_mutex_unlock(&c->ext.lock); }