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