mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 13:04:13 +02:00
* 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
This commit is contained in:
parent
1054b79609
commit
18bc6c31a1
4 changed files with 25 additions and 12 deletions
5
vm.c
5
vm.c
|
@ -1754,7 +1754,7 @@ thread_free(void *ptr)
|
|||
else {
|
||||
#ifdef USE_SIGALTSTACK
|
||||
if (th->altstack) {
|
||||
free(th->altstack);
|
||||
xfree(th->altstack);
|
||||
}
|
||||
#endif
|
||||
ruby_xfree(ptr);
|
||||
|
@ -1826,6 +1826,9 @@ th_init(rb_thread_t *th, VALUE self)
|
|||
th->self = self;
|
||||
|
||||
/* allocate thread stack */
|
||||
#ifdef USE_SIGALTSTACK
|
||||
th->altstack = xmalloc(ALT_STACK_SIZE);
|
||||
#endif
|
||||
th->stack_size = RUBY_VM_THREAD_STACK_SIZE;
|
||||
th->stack = thread_recycle_stack(th->stack_size);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue