Forráskód Böngészése

* fix some pthread declarations probably inherited from the BeOS port.
Finally fix a deadlock when launching Lazarus with thread support.

git-svn-id: trunk@19526 -

olivier 13 éve
szülő
commit
07eed52fd8
2 módosított fájl, 8 hozzáadás és 11 törlés
  1. 3 3
      rtl/haiku/ptypes.inc
  2. 5 8
      rtl/haiku/sysosh.inc

+ 3 - 3
rtl/haiku/ptypes.inc

@@ -184,14 +184,14 @@ type
 
 CONST
     _PTHREAD_MUTEX_TIMED_NP      = 0;
-    _PTHREAD_MUTEX_RECURSIVE_NP  = 1;
+    _PTHREAD_MUTEX_RECURSIVE_NP  = 3;
     _PTHREAD_MUTEX_ERRORCHECK_NP = 2;
     _PTHREAD_MUTEX_ADAPTIVE_NP   = 3;
   
-    _PTHREAD_MUTEX_NORMAL     = _PTHREAD_MUTEX_TIMED_NP;
+    _PTHREAD_MUTEX_NORMAL     = 1;
     _PTHREAD_MUTEX_RECURSIVE  = _PTHREAD_MUTEX_RECURSIVE_NP;
     _PTHREAD_MUTEX_ERRORCHECK = _PTHREAD_MUTEX_ERRORCHECK_NP;
-    _PTHREAD_MUTEX_DEFAULT    = _PTHREAD_MUTEX_NORMAL;
+    _PTHREAD_MUTEX_DEFAULT    = 0;
     _PTHREAD_MUTEX_FAST_NP    = _PTHREAD_MUTEX_ADAPTIVE_NP;
 
      _PTHREAD_KEYS_MAX              = 256;

+ 5 - 8
rtl/haiku/sysosh.inc

@@ -24,12 +24,9 @@ type
   { pthread_mutex_t }
   PRTLCriticalSection = ^TRTLCriticalSection;
   TRTLCriticalSection = record
-    __m_reserved: longint;
-    __m_count: longint;
-    __m_owner: pointer;
-    __m_kind:  longint;
-    __m_lock:  record
-       __status: sizeint;
-      __spinlock: longint;
-    end;
+      flags : Cardinal;
+      lock : integer;
+      unused : integer;
+      owner : integer;
+      owner_count : integer;
   end;