From c31861cd105a0416aa48207c9c40ab1c80f49bb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Fri, 21 Apr 2000 19:25:10 -0700 Subject: [PATCH] removed some bogus debug: external objects may contain references to objects marked for destruction after pike code (destroy) has been called. Rev: src/object.c:1.119 --- src/object.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/src/object.c b/src/object.c index fbca5a1e32..12fbce252a 100644 --- a/src/object.c +++ b/src/object.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: object.c,v 1.118 2000/04/21 23:07:10 hubbe Exp $"); +RCSID("$Id: object.c,v 1.119 2000/04/22 02:25:10 hubbe Exp $"); #include "object.h" #include "dynamic_buffer.h" #include "interpret.h" @@ -1222,6 +1222,12 @@ void gc_mark_all_objects(void) if(gc_is_referenced(o)) gc_mark_object_as_referenced(o); +#ifdef PIKE_DEBUG + if(d_flag) + for(o=objects_to_destruct;o;o=o->next) + debug_malloc_touch(o); +#endif + } int gc_destroy_all_unreferenced_objects(void) @@ -1270,23 +1276,6 @@ int gc_free_all_unreferenced_objects(void) int n = 0; struct object *o,*next; -#ifdef PIKE_DEBUG - if(d_flag) - { - for(o=first_object;o;o=next) - { - if(!gc_do_free(o)) - { - add_ref(o); - gc_check_object(o); - SET_NEXT_AND_FREE(o,free_object); - }else{ - next=o->next; - } - } - } -#endif - for(o=first_object;o;o=next) { if(gc_do_free(o)) -- GitLab