From 331f80e442c34b95586ff174030fba1b02d07725 Mon Sep 17 00:00:00 2001 From: Peter Ganten Date: Fri, 11 Aug 2000 12:52:56 +0000 Subject: [PATCH] The user driver functions might be called with the window lock held. --- relay32/relay386.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/relay32/relay386.c b/relay32/relay386.c index 84b433b4874..c410010da24 100644 --- a/relay32/relay386.c +++ b/relay32/relay386.c @@ -184,7 +184,9 @@ static int RELAY_CallFrom32( int ret_addr, ... ) RELAY_PrintArgs( args, nb_args, relay->argtypes ); DPRINTF( ") ret=%08x fs=%04x\n", ret_addr, __get_fs() ); - SYSLEVEL_CheckNotLevel( 2 ); + /* the user driver functions may be called with the window lock held */ + if (memcmp( buffer, "x11drv.", 7 ) && memcmp( buffer, "ttydrv.", 7 )) + SYSLEVEL_CheckNotLevel( 2 ); if (relay->ret == 0xc3) /* cdecl */ { @@ -275,7 +277,8 @@ static int RELAY_CallFrom32( int ret_addr, ... ) DPRINTF( "Ret %s() retval=%08x ret=%08x fs=%04x\n", buffer, ret, ret_addr, __get_fs() ); - SYSLEVEL_CheckNotLevel( 2 ); + if (memcmp( buffer, "x11drv.", 7 ) && memcmp( buffer, "ttydrv.", 7 )) + SYSLEVEL_CheckNotLevel( 2 ); return ret; } -- 2.11.4.GIT