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

ruby-changes:6399

From: nobu <ko1@a...>
Date: Mon, 7 Jul 2008 00:59:58 +0900 (JST)
Subject: [ruby-changes:6399] Ruby:r17914 (trunk): * thread_pthread.c (ruby_init_stack): prior STACK_END_ADDRESS if

nobu	2008-07-07 00:59:40 +0900 (Mon, 07 Jul 2008)

  New Revision: 17914

  Modified files:
    trunk/ChangeLog
    trunk/thread_pthread.c

  Log:
    * thread_pthread.c (ruby_init_stack): prior STACK_END_ADDRESS if
      found.  [ruby-core:17624]


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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 17913)
+++ ChangeLog	(revision 17914)
@@ -1,3 +1,8 @@
+Mon Jul  7 00:59:37 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* thread_pthread.c (ruby_init_stack): prior STACK_END_ADDRESS if
+	  found.  [ruby-core:17624]
+
 Sun Jul  6 23:48:06 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* ext/socket/socket.c (bsock_send, s_recvfrom, ruby_connect, s_accept),
Index: thread_pthread.c
===================================================================
--- thread_pthread.c	(revision 17913)
+++ thread_pthread.c	(revision 17914)
@@ -179,6 +179,10 @@
 #endif
 } native_main_thread;
 
+#ifdef STACK_END_ADDRESS
+extern void *STACK_END_ADDRESS;
+#endif
+
 #undef ruby_init_stack
 void
 ruby_init_stack(VALUE *addr
@@ -188,12 +192,16 @@
     )
 {
     native_main_thread.id = pthread_self();
+#ifdef STACK_END_ADDRESS
+    native_main_thread.stack_start = STACK_END_ADDRESS;
+#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 = addr;
     }
+#endif
 #ifdef __ia64
     if (!native_main_thread.register_stack_start ||
         (VALUE*)bsp < native_main_thread.register_stack_start) {

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

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