aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--thread_pthread.c16
2 files changed, 13 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 10695875fe..636f4ebfe1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Nov 1 19:47:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * thread_pthread.c (RUBY_STACK_MIN): may not a compile time constant.
+ fix r37079. [ruby-dev:46322] [Bug #7247]
+
Thu Nov 1 16:44:36 2012 Shugo Maeda <shugo@ruby-lang.org>
* NEWS: add note for Module#refine, Module#refinements,
diff --git a/thread_pthread.c b/thread_pthread.c
index 01ad0ce4b5..68ca08f18f 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -596,17 +596,17 @@ enum {
RUBY_STACK_MIN_LIMIT = 512 * 1024, /* 512KB */
#endif
RUBY_STACK_SPACE_LIMIT = 1024 * 1024,
+ RUBY_STACK_SPACE_RATIO = 5
+};
#ifdef PTHREAD_STACK_MIN
- RUBY_STACK_MIN = ((RUBY_STACK_MIN_LIMIT < PTHREAD_STACK_MIN) ?
- PTHREAD_STACK_MIN * 2 : RUBY_STACK_MIN_LIMIT),
+#define 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),
+#define RUBY_STACK_MIN (RUBY_STACK_MIN_LIMIT)
#endif
- RUBY_STACK_SPACE_RATIO = 5,
- RUBY_STACK_MIN_SPACE = RUBY_STACK_MIN/RUBY_STACK_SPACE_RATIO,
- RUBY_STACK_SPACE = ((RUBY_STACK_MIN_SPACE > RUBY_STACK_SPACE_LIMIT) ?
- RUBY_STACK_SPACE_LIMIT : RUBY_STACK_MIN_SPACE)
-};
+#define RUBY_STACK_MIN_SPACE RUBY_STACK_MIN/RUBY_STACK_SPACE_RATIO
+#define RUBY_STACK_SPACE ((RUBY_STACK_MIN_SPACE > RUBY_STACK_SPACE_LIMIT) ? \
+ RUBY_STACK_SPACE_LIMIT : RUBY_STACK_MIN_SPACE)
#ifdef STACK_END_ADDRESS
extern void *STACK_END_ADDRESS;