X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fxcb_in.c;h=fa13e90b27a2454a92895c535d2fa6277269438c;hb=ff38c17c48c271847d12c81cbf80142c6918dc78;hp=4661bc49612f15025368b67594f48d181a7284b0;hpb=5b0ae3421dd373a8575b7a0d60989edfc056cf71;p=free-sw%2Fxcb%2Flibxcb diff --git a/src/xcb_in.c b/src/xcb_in.c index 4661bc4..fa13e90 100644 --- a/src/xcb_in.c +++ b/src/xcb_in.c @@ -256,9 +256,8 @@ void *XCBWaitForReply(XCBConnection *c, unsigned int request, XCBGenericError ** pthread_mutex_lock(&c->iolock); /* If this request has not been written yet, write it. */ - if((signed int) (c->out.request_written - request) < 0) - if(!_xcb_out_flush(c)) - goto done; /* error */ + if(!_xcb_out_flush_to(c, request)) + goto done; /* error */ for(prev_reader = &c->in.readers; *prev_reader && (*prev_reader)->request <= request; prev_reader = &(*prev_reader)->next) if((*prev_reader)->request == request) @@ -273,7 +272,7 @@ void *XCBWaitForReply(XCBConnection *c, unsigned int request, XCBGenericError ** * wait for one. */ while(c->in.request_completed < request && !(c->in.request_read == request && c->in.current_reply)) - if(!_xcb_conn_wait(c, /*should_write*/ 0, &cond)) + if(!_xcb_conn_wait(c, &cond, 0, 0)) goto done; if(c->in.request_read != request) @@ -333,7 +332,7 @@ XCBGenericEvent *XCBWaitForEvent(XCBConnection *c) pthread_mutex_lock(&c->iolock); /* get_event returns 0 on empty list. */ while(!(ret = get_event(c))) - if(!_xcb_conn_wait(c, /*should_write*/ 0, &c->in.event_cond)) + if(!_xcb_conn_wait(c, &c->in.event_cond, 0, 0)) break; wake_up_next_reader(c);