[KERNEL32] Use the default UnhandledExceptionFilter in BaseThreadStartup.
[reactos.git] / dll / win32 / kernel32 / client / thread.c
index dd61053..2ff0102 100644 (file)
@@ -26,29 +26,6 @@ BasepNotifyCsrOfThread(IN HANDLE ThreadHandle,
 
 /* FUNCTIONS ******************************************************************/
 
-static
-LONG BaseThreadExceptionFilter(EXCEPTION_POINTERS * ExceptionInfo)
-{
-   LONG ExceptionDisposition = EXCEPTION_EXECUTE_HANDLER;
-   LPTOP_LEVEL_EXCEPTION_FILTER RealFilter;
-   RealFilter = RtlDecodePointer(GlobalTopLevelExceptionFilter);
-
-   if (RealFilter != NULL)
-   {
-      _SEH2_TRY
-      {
-         ExceptionDisposition = RealFilter(ExceptionInfo);
-      }
-      _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
-      {
-         ExceptionDisposition = UnhandledExceptionFilter(ExceptionInfo);
-      }
-      _SEH2_END;
-   }
-
-   return ExceptionDisposition;
-}
-
 __declspec(noreturn)
 VOID
 WINAPI
@@ -68,7 +45,7 @@ BaseThreadStartup(IN LPTHREAD_START_ROUTINE lpStartAddress,
         /* Get the exit code from the Thread Start */
         ExitThread((lpStartAddress)((PVOID)lpParameter));
     }
-    _SEH2_EXCEPT(BaseThreadExceptionFilter(_SEH2_GetExceptionInformation()))
+    _SEH2_EXCEPT(UnhandledExceptionFilter(_SEH2_GetExceptionInformation()))
     {
         /* Get the Exit code from the SEH Handler */
         if (!BaseRunningInServerProcess)
@@ -176,6 +153,7 @@ CreateRemoteThread(IN HANDLE hProcess,
     ACTIVATION_CONTEXT_BASIC_INFORMATION ActCtxInfo;
     ULONG_PTR Cookie;
     ULONG ReturnLength;
+    SIZE_T ReturnSize;
     DPRINT("CreateRemoteThread: hProcess: %p dwStackSize: %lu lpStartAddress"
             ": %p lpParameter: %p, dwCreationFlags: %lx\n", hProcess,
             dwStackSize, lpStartAddress, lpParameter, dwCreationFlags);
@@ -267,7 +245,7 @@ CreateRemoteThread(IN HANDLE hProcess,
                                                       ActivationContextBasicInformation,
                                                       &ActCtxInfo,
                                                       sizeof(ActCtxInfo),
-                                                      &ReturnLength);
+                                                      &ReturnSize);
         if (!NT_SUCCESS(Status))
         {
             /* Fail */
@@ -978,8 +956,10 @@ BOOL
 WINAPI
 SetThreadStackGuarantee(IN OUT PULONG StackSizeInBytes)
 {
-    UNIMPLEMENTED;
-    return FALSE;
+    static int once;
+    if (once++ == 0)
+         DPRINT1("SetThreadStackGuarantee(%p): stub\n", StackSizeInBytes);
+    return TRUE;
 }
 
 /*