On 03/28/11 03:45 AM, Rami Ylimäki wrote: > An XCB test application will always crash because of heap corruption > if it's running xcb_connect/xcb_disconnect continuously from multiple > threads. The problem can also happen in real applications if > XOpenDisplay and xcb_connect are called simultaneously.
Xau has been known to be non-thread-safe for a very long time -- https://bugs.freedesktop.org/show_bug.cgi?id=7588 is a copy of a report from the original X Consortium bug database that never got fixed (and seems to be in this same code path). > This commit fixes only the heap corruption and sporadic crashes. It's > still possible that XauFileName returns a badly formed filename string > if called from multiple threads. For example, changing contents of > HOME environment variable could make the returned string to be > malformed. However, there shouldn't be crashes. Perhaps we just need to define a new function to do this, that doesn't use a static global variable of any sort, and declare that multi-threaded code needs to use it. -- -Alan Coopersmith- [email protected] Oracle Solaris Platform Engineering: X Window System _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
