Browse Source

Call custom MemoryManager.DoneThread before FinalizeHeap.

Rika Ichinose 3 months ago
parent
commit
37a7474471
1 changed files with 3 additions and 5 deletions
  1. 3 5
      rtl/inc/thread.inc

+ 3 - 5
rtl/inc/thread.inc

@@ -79,13 +79,11 @@ Var
         if assigned(widestringmanager.ThreadFiniProc) then
         if assigned(widestringmanager.ThreadFiniProc) then
           widestringmanager.ThreadFiniProc;
           widestringmanager.ThreadFiniProc;
 {$endif FPC_HAS_FEATURE_WIDESTRINGS}
 {$endif FPC_HAS_FEATURE_WIDESTRINGS}
-{$ifndef HAS_MEMORYMANAGER}
-{$ifndef FPC_NO_DEFAULT_HEAP}
-        FinalizeHeap;
-{$endif ndef FPC_NO_DEFAULT_HEAP}
-{$endif HAS_MEMORYMANAGER}
         if MemoryManager.DoneThread <> nil then
         if MemoryManager.DoneThread <> nil then
           MemoryManager.DoneThread();
           MemoryManager.DoneThread();
+{$if not defined(HAS_MEMORYMANAGER) and not defined(FPC_NO_DEFAULT_HEAP)}
+        FinalizeHeap;
+{$endif ndef HAS_MEMORYMANAGER and ndef FPC_NO_DEFAULT_HEAP}
 {$ifdef FPC_HAS_FEATURE_CONSOLEIO}
 {$ifdef FPC_HAS_FEATURE_CONSOLEIO}
         { Open all stdio fds again }
         { Open all stdio fds again }
         SysFlushStdio;
         SysFlushStdio;