diff --git a/ChangeLog b/ChangeLog index ee58a2dea5..de1c8443df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Nov 23 16:06:53 2009 Nobuyoshi Nakada + + * thread_pthread.c (RUBY_STACK_MIN, RUBY_STACK_SPACE): delay for + platforms where PTHREAD_STACK_MIN is not compile time constant. + [ruby-dev:39751] + Mon Nov 23 11:26:45 2009 Nobuyoshi Nakada * dln.c (dln_find_1): removed duplication. diff --git a/thread_pthread.c b/thread_pthread.c index c8ee4e1272..0d37a12130 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -463,16 +463,18 @@ enum { #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) + RUBY_STACK_SPACE_LIMIT = 1024 * 1024 }; +#ifdef PTHREAD_STACK_MIN +#define RUBY_STACK_MIN ((RUBY_STACK_MIN_LIMIT < PTHREAD_STACK_MIN) ? \ + PTHREAD_STACK_MIN * 2 : RUBY_STACK_MIN_LIMIT) +#else +#define RUBY_STACK_MIN (RUBY_STACK_MIN_LIMIT) +#endif +#define 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) {