An uninitialized or otherwise invalid condition variable can apparently
cause a hang in pthread_cond_broadcast. Ekiga, openoffice, and xine
at least are freezing as a result of event_notify never being initialized.

Signed-off-by: Brian Rogers <br...@xyzw.org>
---
 src/xcb_disp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/xcb_disp.c b/src/xcb_disp.c
index d976064..584380c 100644
--- a/src/xcb_disp.c
+++ b/src/xcb_disp.c
@@ -94,6 +94,9 @@ int _XConnectXCB(Display *dpy, _Xconst char *display, char 
**fullnamep, int *scr
        dpy->xcb->next_xid = xcb_generate_id(dpy->xcb->connection);
 
        dpy->xcb->event_notify = xcondition_malloc();
+       if (!dpy->xcb->event_notify)
+               return 0;
+       xcondition_init(dpy->xcb->event_notify);
        return !xcb_connection_has_error(c);
 }
 
-- 
1.6.0.4

_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to