Minor performance improvement: do not call _xcb_in_expect_reply unless it is needed. It is not often needed.
This commit is contained in:
parent
8953a14f2b
commit
771761ccaa
22
src/xcb_in.c
22
src/xcb_in.c
|
@ -443,18 +443,16 @@ void _xcb_in_destroy(_xcb_in *in)
|
|||
|
||||
int _xcb_in_expect_reply(XCBConnection *c, unsigned int request, enum workarounds workaround, int flags)
|
||||
{
|
||||
if(workaround != WORKAROUND_NONE || flags != 0)
|
||||
{
|
||||
pending_reply *pend = malloc(sizeof(pending_reply));
|
||||
if(!pend)
|
||||
return 0;
|
||||
pend->request = request;
|
||||
pend->workaround = workaround;
|
||||
pend->flags = flags;
|
||||
pend->next = 0;
|
||||
*c->in.pending_replies_tail = pend;
|
||||
c->in.pending_replies_tail = &pend->next;
|
||||
}
|
||||
pending_reply *pend = malloc(sizeof(pending_reply));
|
||||
assert(workaround != WORKAROUND_NONE || flags != 0);
|
||||
if(!pend)
|
||||
return 0;
|
||||
pend->request = request;
|
||||
pend->workaround = workaround;
|
||||
pend->flags = flags;
|
||||
pend->next = 0;
|
||||
*c->in.pending_replies_tail = pend;
|
||||
c->in.pending_replies_tail = &pend->next;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -165,7 +165,8 @@ unsigned int XCBSendRequest(XCBConnection *c, int flags, struct iovec *vector, c
|
|||
|
||||
request = ++c->out.request;
|
||||
assert(request != 0);
|
||||
_xcb_in_expect_reply(c, request, workaround, flags);
|
||||
if(workaround != WORKAROUND_NONE || flags != 0)
|
||||
_xcb_in_expect_reply(c, request, workaround, flags);
|
||||
if(!req->isvoid)
|
||||
c->in.request_expected = c->out.request;
|
||||
|
||||
|
|
Loading…
Reference in New Issue