Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 832986
Collapse All | Expand All

(-)a/src/xcb_io.c (-9 / +12 lines)
Lines 704-717 Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard) Link Here
704
		if(dpy->xcb->event_owner == XlibOwnsEventQueue)
704
		if(dpy->xcb->event_owner == XlibOwnsEventQueue)
705
		{
705
		{
706
			xcb_generic_reply_t *event;
706
			xcb_generic_reply_t *event;
707
707
			/* If some thread is already waiting for events,
708
			/* Assume event queue is empty if another thread is blocking
708
			 * it will get the first one. That thread must
709
			 * waiting for event. */
709
			 * process that event before we can continue. */
710
			if(!dpy->xcb->event_waiter)
710
			/* FIXME: That event might be after this reply,
711
			{
711
			 * and might never even come--or there might be
712
				while((event = poll_for_response(dpy)))
712
			 * multiple threads trying to get events. */
713
					handle_response(dpy, event, True);
713
			while(dpy->xcb->event_waiter)
714
                        }
714
			{ /* need braces around ConditionWait */
715
				ConditionWait(dpy, dpy->xcb->event_notify);
716
			}
717
			while((event = poll_for_event(dpy, True)))
718
				handle_response(dpy, event, True);
715
		}
719
		}
716
720
717
		req->reply_waiter = 0;
721
		req->reply_waiter = 0;
718
- 

Return to bug 832986