[#39606] [Feature:trunk] Dir instance methods for relative path — Nobuyoshi Nakada <nobu@...>

なかだです。

15 messages 2009/11/02
[#39607] Re: [Feature:trunk] Dir instance methods for relative path — Yukihiro Matsumoto <matz@...> 2009/11/02

まつもと ゆきひろです

[#39611] Re: [Feature:trunk] Dir instance methods for relative path — KOSAKI Motohiro <kosaki.motohiro@...> 2009/11/02

kosakiです

[#39660] [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } — Yusuke ENDOH <mame@...>

遠藤です。

14 messages 2009/11/11
[#39661] Re: [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } — Tanaka Akira <akr@...> 2009/11/11

In article <e0b1e5700911110537u2aacf835pc0aea13d89a92cef@mail.gmail.com>,

[#39685] [Feature #2366] private constant — Yusuke Endoh <redmine@...>

Feature #2366: private constant

23 messages 2009/11/14
[#39689] [Feature #2366] private constant — Yusuke Endoh <redmine@...> 2009/11/14

チケット #2366 が更新されました。 (by Yusuke Endoh)

[#40207] Re: [Feature #2366] private constant — Yusuke ENDOH <mame@...> 2010/01/28

遠藤です。

[#40239] Re: [Feature #2366] private constant — Masatoshi SEKI <m_seki@...> 2010/01/29

=1B$B31$H$$$$$^$9!#=1B(B

[#40243] Re: [Feature #2366] private constant — Yusuke ENDOH <mame@...> 2010/01/29

遠藤です。

[#40246] Re: [Feature #2366] private constant — Masatoshi SEKI <m_seki@...> 2010/01/29

=1B$B31$H$$$$$^$9!#=1B(B

[#40247] Re: [Feature #2366] private constant — "NARUSE, Yui" <naruse@...> 2010/01/29

成瀬です。

[#39720] hidden objectって? — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

15 messages 2009/11/18
[#39721] Re: hidden objectって? — Yukihiro Matsumoto <matz@...> 2009/11/18

まつもと ゆきひろです

[#39726] Re: hidden objectって? — keiju@... (石塚圭樹) 2009/11/19

けいじゅ@いしつかです.

[#39727] Re: hidden objectって? — Yukihiro Matsumoto <matz@...> 2009/11/19

まつもと ゆきひろです

[#39730] Re: hidden objectって? — keiju@... (石塚圭樹) 2009/11/19

けいじゅ@いしつかです.

[#39735] [Bug:trunk] r25230 causes SEGV arround Marshal — "NARUSE, Yui" <naruse@...> 2009/11/19

以下のコミット以降、後述の現象が発生するそうです。

[#39755] RbConfig.rubybin — Tanaka Akira <akr@...>

ruby コマンドのパス名を返す RbConfig.rubybin というメソッド

18 messages 2009/11/23
[#39756] Re: RbConfig.rubybin — Kouhei Sutou <kou@...> 2009/11/23

須藤です。

[#39814] Re: RbConfig.rubybin — Tanaka Akira <akr@...> 2009/11/30

In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,

[#39815] Re: RbConfig.rubybin — KOSAKI Motohiro <kosaki.motohiro@...> 2009/11/30

> In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,

[#39796] バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

14 messages 2009/11/27
[#39800] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — Yukihiro Matsumoto <matz@...> 2009/11/27

まつもと ゆきひろです

[#39803] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (石塚圭樹) 2009/11/27

けいじゅ@いしつかです.

[#39805] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — Yukihiro Matsumoto <matz@...> 2009/11/28

まつもと ゆきひろです

[#39806] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (石塚圭樹) 2009/11/28

けいじゅ@いしつかです.

[#39807] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — Yukihiro Matsumoto <matz@...> 2009/11/28

まつもと ゆきひろです

[ruby-dev:39751] build error if PTHREAD_STACK_MIN is a function call

From: Yusuke ENDOH <mame@...>
Date: 2009-11-22 20:07:59 UTC
List: ruby-dev #39751
遠藤です。

OpenSolaris で ruby をビルドしてみたらエラーが出ました。


In file included from thread.c:213:
thread_pthread.c:470: error: enumerator value for `RUBY_STACK_MIN' not
integer constant
thread.c: In function `rb_fd_select':
thread.c:2307: warning: implicit declaration of function `select_large_fdset'
make: *** [thread.o] Error 1


PTHREAD_STACK_MIN の定義が

#define	PTHREAD_STACK_MIN	((size_t)_sysconf(_SC_THREAD_STACK_MIN))

という関数呼び出しになっていて、これを enum の値にしようとしていることが
原因です。#if (RUBY_STACK_MIN_LIMIT < PTHREAD_STACK_MIN) などもできません。

enum でなくグローバル変数にすれば動きますが、そうしてもいいでしょうか。

OpenSolaris は supported でも best effort でもないので構わないといえば
構わないのですが、他のプラットフォームでも起きるかもしれない話ですし、
ここを直せば make && make test が通るくらいには動いたので、できれば
直したいと思います。


diff --git a/thread_pthread.c b/thread_pthread.c
index c8ee4e1..43adc39 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -264,6 +264,8 @@ static struct {
 extern void *STACK_END_ADDRESS;
 #endif

+static int RUBY_STACK_MIN_LIMIT, RUBY_STACK_MIN,
RUBY_STACK_SPACE_LIMIT, RUBY_STACK_SPACE;
+
 #undef ruby_init_stack
 void
 ruby_init_stack(volatile VALUE *addr
@@ -301,6 +303,20 @@ ruby_init_stack(volatile VALUE *addr
        }
     }
 #endif
+
+#ifdef __SYMBIAN32__
+    RUBY_STACK_MIN_LIMIT = 64 * 1024;  /* 64KB: Let's be slightly
more frugal on mobile platform */
+#else
+    RUBY_STACK_MIN_LIMIT = 512 * 1024; /* 512KB */
+#endif
+#ifdef PTHREAD_STACK_MIN
+    RUBY_STACK_MIN = (RUBY_STACK_MIN_LIMIT < PTHREAD_STACK_MIN) ?
PTHREAD_STACK_MIN * 2 : RUBY_STACK_MIN_LIMIT;
+#else
+    RUBY_STACK_MIN = RUBY_STACK_MIN_LIMIT;
+#endif
+    RUBY_STACK_SPACE_LIMIT = 1024 * 1024;
+    RUBY_STACK_SPACE = (RUBY_STACK_MIN/5 > RUBY_STACK_SPACE_LIMIT ?
+                       RUBY_STACK_SPACE_LIMIT : RUBY_STACK_MIN/5);
 }

 #define CHECK_ERR(expr) \
@@ -457,22 +473,6 @@ use_cached_thread(rb_thread_t *th)
     return result;
 }

-enum {
-#ifdef __SYMBIAN32__
-    RUBY_STACK_MIN_LIMIT = 64 * 1024,  /* 64KB: Let's be slightly
more frugal on mobile platform */
-#else
-    RUBY_STACK_MIN_LIMIT = 512 * 1024, /* 512KB */
-#endif
-    RUBY_STACK_MIN = (
-#ifdef PTHREAD_STACK_MIN
-       (RUBY_STACK_MIN_LIMIT < PTHREAD_STACK_MIN) ? PTHREAD_STACK_MIN * 2 :
-#endif
-       RUBY_STACK_MIN_LIMIT),
-    RUBY_STACK_SPACE_LIMIT = 1024 * 1024,
-    RUBY_STACK_SPACE = (RUBY_STACK_MIN/5 > RUBY_STACK_SPACE_LIMIT ?
-                       RUBY_STACK_SPACE_LIMIT : RUBY_STACK_MIN/5)
-};
-
 static int
 native_thread_create(rb_thread_t *th)
 {

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread

Prev Next