[PATCH] Initialize event_notify after allocating the memory for it.

Brian Rogers brian at xyzw.org
Sat Jan 31 10:37:51 PST 2009


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 <brian at 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




More information about the xorg mailing list