Issue #2294 has been updated by Roman Shterenzon.
I'm embedding a Ruby 1.9.1 in my app, and it would die with segmentation fault, and I was suspicious about the stack, as it's multithreaded. I applied your patch and it looks fine so far. I'm using the following code (and assume that stack grows upward):
static void pthread_get_stack(void **stack_begin, void **stack_end) {
size_t stack_size;
#if defined(HAVE_STACKADDR_NP) && defined(HAVE_GET_STACKSIZE_NP) /* MacOS X */
pthread_t t_id = pthread_self();
*stack_begin = pthread_get_stackaddr_np(t_id);
stack_size = pthread_get_stacksize_np(t_id);
#else /* Linux */
pthread_attr_t attr;
pthread_getattr_np(pthread_self(), &attr);
pthread_attr_getstack(&attr, stack_begin, &stack_size);
#endif
*stack_end = *stack_begin + stack_size;
}
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2294
----------------------------------------
http://redmine.ruby-lang.org