I recently tried building xine-lib 1.1.4 for win32 using mingw and msys.
After a successful build I had tried running my client and it segfaulted on
a pthread_mutex_unlock problem in the pthread library (when calling
xine_init). I then rebuilt xine-debug and found that a mutex for the logger
has been added recently (log_lock mutex in xine.c). This mutex is
initialized in xine_init(), however the _x_scan_plugins() which is called in
xine_init() was trying to log messages such as "skipping plugins directory"
but the log_lock had not been initialized at that point.
To solve the problem I had to move the pthread_mutex_init of log_lock to the
start of the xine_init function. This seems to work well now; I'm surprised
it doesn't manifest itself as a problem on other platforms though.