Reviewed by Maciej
authorstaikos <staikos@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Jan 2006 04:39:36 +0000 (04:39 +0000)
committerstaikos <staikos@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Jan 2006 04:39:36 +0000 (04:39 +0000)
Compile fix for FreeBSD 5.4 from KDE

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12296 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/collector.cpp

index b053c93..933fa1c 100644 (file)
@@ -1,3 +1,10 @@
+2006-01-22  George Staikos <staikos@opensource.apple.com>
+
+        Reviewed by Maciej.
+
+        * kjs/collector.cpp: merge FreeBSD compile fix from KDE
+                             -> requires build magic for use
+
 2006-01-21  George Staikos <staikos@opensource.apple.com>
 
         Reviewed by Maciej.
 2006-01-21  George Staikos <staikos@opensource.apple.com>
 
         Reviewed by Maciej.
index c79fe53..bc06854 100644 (file)
 
 #include <pthread.h>
 
 
 #include <pthread.h>
 
+#ifdef HAVE_PTHREAD_NP_H
+
+#include <pthread_np.h>
+
+#endif
+
 #endif
 
 using std::max;
 #endif
 
 using std::max;
@@ -309,8 +315,13 @@ void Collector::markCurrentThreadConservatively()
 #else
     void *stackBase = 0;
     pthread_attr_t sattr;
 #else
     void *stackBase = 0;
     pthread_attr_t sattr;
+#ifdef HAVE_PTHREAD_NP_H
+    // e.g. on FreeBSD 5.4, neundorf@kde.org
+    pthread_attr_get_np(thread, &sattr);
+#else
     // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
     pthread_getattr_np(pthread_self(), &sattr);
     // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
     pthread_getattr_np(pthread_self(), &sattr);
+#endif
     // Should work but fails on Linux (?)
     //  pthread_attr_getstack(&sattr, &stackBase, &stackSize);
     pthread_attr_getstackaddr(&sattr, &stackBase);
     // Should work but fails on Linux (?)
     //  pthread_attr_getstack(&sattr, &stackBase, &stackSize);
     pthread_attr_getstackaddr(&sattr, &stackBase);