Project

General

Profile

Bug #9205 » fix_assertion_fail.patch

phasis68 (Heesob Park), 12/04/2013 12:39 PM

View differences:

gc.c → gc.c.new
#define nomem_error GET_VM()->special_exceptions[ruby_error_nomemory]
int disable_deferred = 0;
int ruby_gc_debug_indent = 0;
VALUE rb_mGC;
int ruby_disable_gc_stress = 0;
......
{
RVALUE *p = heap_pages_deferred_final;
heap_pages_deferred_final = 0;
disable_deferred = 1;
if (p) {
finalize_list(objspace, p);
}
disable_deferred = 0;
}
static void
......
if (obj_free(objspace, (VALUE)p)) {
final_slots++;
}
else if (FL_TEST(p, FL_FINALIZE)) {
else if (FL_TEST(p, FL_FINALIZE) && !disable_deferred) {
RDATA(p)->dfree = 0;
make_deferred(objspace,p);
final_slots++;
    (1-1/1)