Now that Wine is no longer locking around all X calls we're seeing lockups in applications that use both OpenGL (through Direct3D) and X11 (through GDI) simultaneously in separate threads. It appears that something strange is happening in _XReply that causes the applications to hang indefinitely in xcb_wait_for_reply when both threads happen to use the same sequence number at the same time.
I'm not really an X expert, so I'd really appreciate some help trying to track this down. On the Wine end we have a bug open (http://bugs.winehq.org/show_bug.cgi?id=31406) to track this issue, but we're pretty sure it's something in xlib or xcb.
Now that Wine is no longer locking around all X calls we're seeing lockups in applications that use both OpenGL (through Direct3D) and X11 (through GDI) simultaneously in separate threads. It appears that something strange is happening in _XReply that causes the applications to hang indefinitely in xcb_wait_for_reply when both threads happen to use the same sequence number at the same time.
I'm not really an X expert, so I'd really appreciate some help trying to track this down. On the Wine end we have a bug open (http:// bugs.winehq. org/show_ bug.cgi? id=31406) to track this issue, but we're pretty sure it's something in xlib or xcb.