The handler called is
/**********************************************************************
* usr1_handler
*
* Handler for SIGUSR1, used to signal a thread that it got suspended.
*/
static HANDLER_DEF(usr1_handler)
{
LARGE_INTEGER timeout;
..... skipped a couple of lines
NTDLL_wait_for_multiple_objects( 0, NULL, 0, &timeout );
}It is called AFTER the 5-seconds timeout has expired. Also it is called for every thread of the application - not just for these two. It makes me think that is the result of the problem rather than its cause.
Any ideas why a call to the XQueryPointer function may fail to return in 5 seconds? The whole X system freezes until I kill wine processes from a text shell.
Thanks, Nick
Mike Hearn wrote:
I think this is caused by Wine doing an XLock then not releasing it for whatever reason - I guess the signal handler being called in the second backtrace indicates a crash or something. Have you tried doing a +seh trace?
