summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-30 01:57:06 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-30 01:57:06 +0000
commit18bc6c31a1a0831ae6dda645a13b2df13d761fe8 (patch)
treea0849e5d3ad49cf0d5759c42e0f152d543a4ef43 /vm_core.h
parent1054b79609f3f468470ae022cea5445e58ed831b (diff)
* vm.c (th_init): preallocate alternative stack.
NoMemoryError is better than rb_bug, of course. Patch by Eric Wong. [ruby-core:38572][ruby-core:38594]. * signal.c (rb_register_sigaltstack): ditto. * vm_core.h: moved ALT_STACK_SIZE definition from signal.c. * vm.c (thread_free): use xfree() instead of free(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/vm_core.h b/vm_core.h
index 78463a624a..5f4e5d47f1 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -383,6 +383,12 @@ struct rb_unblock_callback {
struct rb_mutex_struct;
+#ifdef SIGSTKSZ
+#define ALT_STACK_SIZE (SIGSTKSZ*2)
+#else
+#define ALT_STACK_SIZE (4*1024)
+#endif
+
typedef struct rb_thread_struct {
VALUE self;
rb_vm_t *vm;