[前][次][番号順一覧][スレッド一覧]

ruby-changes:7710

From: nobu <ko1@a...>
Date: Mon, 8 Sep 2008 06:04:35 +0900 (JST)
Subject: [ruby-changes:7710] Ruby:r19231 (mvm): * thread_pthread.c (get_stack): defines only if possible.

nobu	2008-09-08 06:04:14 +0900 (Mon, 08 Sep 2008)

  New Revision: 19231

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19231

  Log:
    * thread_pthread.c (get_stack): defines only if possible.

  Modified files:
    branches/mvm/ChangeLog
    branches/mvm/thread_pthread.c

Index: mvm/ChangeLog
===================================================================
--- mvm/ChangeLog	(revision 19230)
+++ mvm/ChangeLog	(revision 19231)
@@ -1,4 +1,4 @@
-Mon Sep  8 05:56:51 2008  Nobuyoshi Nakada  <nobu@r...>
+Mon Sep  8 06:04:11 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* configure.in (XLDFLAGS): added --enable-auto-import for cygwin and
 	  mingw.
@@ -6,8 +6,8 @@
 	* dir.c (rb_dir_open), io.c (rb_sysopenat, rb_openat): resolved
 	  conflicts.
 
-<<<<<<< .working
-=======
+	* thread_pthread.c (get_stack): defines only if possible.
+
 Sat Sep  6 15:06:21 2008  Tanaka Akira  <akr@f...>
 
 	* transcode.c (sym_html): new variable.
@@ -314,7 +314,6 @@
 
 	* vm.c (rb_vm_mark): marks trap_list.
 
->>>>>>> .merge-right.r19180
 Thu Sep  4 13:01:11 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* io.c (struct sysopen_struct, rb_sysopen_internal, rb_sysopen):
Index: mvm/thread_pthread.c
===================================================================
--- mvm/thread_pthread.c	(revision 19230)
+++ mvm/thread_pthread.c	(revision 19231)
@@ -207,10 +207,18 @@
 #define STACK_DIR_UPPER(a,b) STACK_UPPER(&stack_grow_dir_detection, a, b)
 #endif
 
+#if defined HAVE_PTHREAD_GETATTR_NP || defined HAVE_PTHREAD_ATTR_GET_NP
+#define STACKADDR_AVAILABLE 1
+#elif defined HAVE_PTHREAD_GET_STACKADDR_NP && defined HAVE_PTHREAD_GET_STACKSIZE_NP
+#define STACKADDR_AVAILABLE 1
+#elif defined HAVE_THR_STKSEGMENT || defined HAVE_PTHREAD_STACKSEG_NP
+#define STACKADDR_AVAILABLE 1
+#endif
+
+#ifdef STACKADDR_AVAILABLE
 static int
 get_stack(void **addr, size_t *size)
 {
-#define STACKADDR_AVAILABLE 1
 #define CHECK_ERR(expr)				\
     {int err = (expr); if (err) return err;}
 #if defined HAVE_PTHREAD_GETATTR_NP || defined HAVE_PTHREAD_ATTR_GET_NP
@@ -254,15 +262,11 @@
 # endif
     *addr = stk.ss_sp;
     *size = stk.ss_size;
-#else
-#undef STACKADDR_AVAILABLE
-    return -1;
 #endif
-#ifdef STACKADDR_AVAILABLE
     return 0;
-#endif
 #undef CHECK_ERR
 }
+#endif
 
 #ifndef STACKADDR_AVAILABLE
 static struct {
@@ -294,8 +298,8 @@
 #else
     if (!native_main_thread.stack_start ||
         STACK_UPPER(&addr,
-                    native_main_thread.stack_start > addr,
-                    native_main_thread.stack_start < addr)) {
+                    native_main_thread.stack_start > (VALUE *)addr,
+                    native_main_thread.stack_start < (VALUE *)addr)) {
         native_main_thread.stack_start = addr;
     }
 #endif

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]