Quellcode durchsuchen

AROS: Semaphores are much bigger on 64bit, fixes crashes and freezes on AROS64 with Threading enabled

git-svn-id: trunk@36206 -
marcus vor 8 Jahren
Ursprung
Commit
67c3fd2276
1 geänderte Dateien mit 6 neuen und 2 gelöschten Zeilen
  1. 6 2
      rtl/amicommon/sysosh.inc

+ 6 - 2
rtl/amicommon/sysosh.inc

@@ -23,9 +23,13 @@ type
   PRTLCriticalSection = ^TRTLCriticalSection;
   PRTLCriticalSection = ^TRTLCriticalSection;
   TRTLCriticalSection = record
   TRTLCriticalSection = record
     { This must actually be bigger or equal to sizeof(TSignalSemaphore)
     { This must actually be bigger or equal to sizeof(TSignalSemaphore)
-      which seems to be 46 bytes on MorphOS and Amiga/m68k and
-      56 bytes on AROS/x86 ABIv0. }
+      which seems to be 46 bytes on MorphOS and Amiga/m68k,
+      56 bytes on AROS/x86 ABIv0 and 104 bytes on AROS x64}
+    {$ifdef CPU64}
+    semaphore: array[0..128] of byte;
+    {$else}
     semaphore: array[0..63] of byte;
     semaphore: array[0..63] of byte;
+    {$endif}
   end;
   end;
 
 
 { BeginThread flags we support in AThreads }
 { BeginThread flags we support in AThreads }