Do not use pthread_getattr_np if NO_PTHREAD_GETATTR_NP specified
authorIvan Maidanski <ivmai@mail.ru>
Sun, 6 Jan 2013 09:05:24 +0000 (13:05 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 6 Jan 2013 09:36:41 +0000 (10:36 +0100)
* include/private/gcconfig.h (NO_PTHREAD_GETATTR_NP): Define new macro
for NaCl.
* os_dep.c (GC_get_main_stack_base, GC_get_stack_base): Test
NO_PTHREAD_GETATTR_NP instead of NACL (i.e., do not use
pthread_getattr_np if NO_PTHREAD_GETATTR_NP).

include/private/gcconfig.h
os_dep.c

index fff56ca..f928f16 100644 (file)
 #      undef STACK_GRAN
 #      define STACK_GRAN 0x10000
 #      define HEURISTIC1
+#      define NO_PTHREAD_GETATTR_NP
 #      define GETPAGESIZE() 65536
 #      ifndef MAX_NACL_GC_THREADS
 #        define MAX_NACL_GC_THREADS 1024
index 0585802..669ff58 100644 (file)
--- a/os_dep.c
+++ b/os_dep.c
@@ -1173,7 +1173,7 @@ GC_INNER word GC_page_size = 0;
   ptr_t GC_get_main_stack_base(void)
   {
     ptr_t result;
-#   if defined(LINUX) && !defined(NACL) \
+#   if defined(LINUX) && !defined(NO_PTHREAD_GETATTR_NP) \
        && (defined(USE_GET_STACKBASE_FOR_MAIN) \
            || (defined(THREADS) && !defined(REDIRECT_MALLOC)))
       pthread_attr_t attr;
@@ -1245,7 +1245,8 @@ GC_INNER word GC_page_size = 0;
 # define GET_MAIN_STACKBASE_SPECIAL
 #endif /* !AMIGA, !BEOS, !OPENBSD, !OS2, !Windows */
 
-#if (defined(GC_LINUX_THREADS) || defined(PLATFORM_ANDROID)) && !defined(NACL)
+#if (defined(GC_LINUX_THREADS) || defined(PLATFORM_ANDROID)) \
+    && !defined(NO_PTHREAD_GETATTR_NP)
 
 # include <pthread.h>
   /* extern int pthread_getattr_np(pthread_t, pthread_attr_t *); */