Use the signal stack pointer to determine the current thread.
Converted the SIGUSR2 handler to use setup_exception (probably still
not working properly).

diff --git a/dlls/kernel/syslevel.c b/dlls/kernel/syslevel.c
index 790749e..a81e2cf 100644
--- a/dlls/kernel/syslevel.c
+++ b/dlls/kernel/syslevel.c
@@ -48,7 +48,6 @@
 
 #ifdef __i386__
 extern unsigned int CallTo16_TebSelector;
-extern void __wine_set_signal_fs( unsigned int fs );
 #endif
 
 
@@ -116,11 +115,7 @@
           lock, lock->level, GetCurrentThreadId(), teb->sys_count[lock->level] );
 
 #ifdef __i386__
-    if (lock == &Win16Mutex)
-    {
-        __wine_set_signal_fs( wine_get_fs() );
-        CallTo16_TebSelector = wine_get_fs();
-    }
+    if (lock == &Win16Mutex) CallTo16_TebSelector = wine_get_fs();
 #endif
 }