From 2c419accb165b4ae28c588c2d90d6ddd44952b93 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Sat, 22 May 1999 19:03:11 +0000 Subject: [PATCH] Don't freeze other thread while it may hold the X critical section. --- debugger/dbg.y | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debugger/dbg.y b/debugger/dbg.y index 2bd5302508d..99822e6f492 100644 --- a/debugger/dbg.y +++ b/debugger/dbg.y @@ -26,6 +26,7 @@ #include "queue.h" #include "wine/winbase16.h" #include "winnt.h" +#include "x11drv.h" #include "win.h" #include "debugger.h" #include "neexe.h" @@ -460,7 +461,10 @@ static void DEBUG_Main( int signal ) if ( !frozen ) { + /* Don't freeze thread currently holding the X crst! */ + EnterCriticalSection( &X11DRV_CritSection ); CLIENT_DebuggerRequest( DEBUGGER_FREEZE_ALL ); + LeaveCriticalSection( &X11DRV_CritSection ); frozen = TRUE; } @@ -526,7 +530,10 @@ static void DEBUG_Main( int signal ) if ( !frozen ) { + /* Don't freeze thread currently holding the X crst! */ + EnterCriticalSection( &X11DRV_CritSection ); CLIENT_DebuggerRequest( DEBUGGER_FREEZE_ALL ); + LeaveCriticalSection( &X11DRV_CritSection ); frozen = TRUE; }