1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* yarvcore.c (rb_thread_mark): mark also thrown_errinfo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2007-06-21 10:40:50 +00:00
parent 3fc180ebeb
commit 5a164c1891
2 changed files with 10 additions and 10 deletions

View file

@ -1,3 +1,7 @@
Thu Jun 21 19:42:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* yarvcore.c (rb_thread_mark): mark also thrown_errinfo.
Thu Jun 21 17:13:44 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (rb_intern2): name may not be NUL-terminated.

View file

@ -259,8 +259,8 @@ thread_free(void *ptr)
void yarv_machine_stack_mark(rb_thread_t *th);
static void
thread_mark(void *ptr)
void
rb_thread_mark(void *ptr)
{
rb_thread_t *th = NULL;
MARK_REPORT_ENTER("thread");
@ -289,6 +289,7 @@ thread_mark(void *ptr)
MARK_UNLESS_NULL(th->thgroup);
MARK_UNLESS_NULL(th->value);
MARK_UNLESS_NULL(th->errinfo);
MARK_UNLESS_NULL(th->thrown_errinfo);
MARK_UNLESS_NULL(th->local_svar);
MARK_UNLESS_NULL(th->top_self);
MARK_UNLESS_NULL(th->top_wrapper);
@ -311,19 +312,13 @@ thread_mark(void *ptr)
MARK_REPORT_LEAVE("thread");
}
void
rb_thread_mark(void *ptr)
{
thread_mark(ptr);
}
static VALUE
thread_alloc(VALUE klass)
{
VALUE volatile obj;
rb_thread_t *th;
obj = Data_Make_Struct(klass, rb_thread_t,
thread_mark, thread_free, th);
rb_thread_mark, thread_free, th);
return obj;
}
@ -551,7 +546,8 @@ Init_VM(void)
vm->self = Data_Wrap_Struct(rb_cVM, vm_mark, vm_free, vm);
/* create main thread */
th_self = th->self = Data_Wrap_Struct(rb_cThread, thread_mark, thread_free, th);
th_self = th->self = Data_Wrap_Struct(rb_cThread, rb_thread_mark,
thread_free, th);
vm->main_thread = th;
vm->running_thread = th;