Branch: Tag:

1999-10-22

1999-10-22 16:04:04 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Semi-bugfix of gc_check_all_programs().

Rev: src/program.c:1.164

5:   \*/   /**/   #include "global.h" - RCSID("$Id: program.c,v 1.163 1999/10/22 00:02:24 hubbe Exp $"); + RCSID("$Id: program.c,v 1.164 1999/10/22 16:04:04 grubba Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"
2919: Inside #if defined(GC2)
  void gc_check_all_programs(void)   {    struct program *p; -  for(p=first_program;p;p=p->next) +  struct program *next; +  for(p=first_program;p;p=next)    {    int e;    -  debug_malloc_touch(p); +  /* We don't want p to be freed under our feet... */ +  add_ref(p);    -  for(e=0;e<p->num_constants;e++) +  for(e=0;e<p->num_constants;e++) {    debug_gc_check_svalues(& p->constants[e].sval, 1, T_PROGRAM, p); -  +  }       for(e=0;e<p->num_inherits;e++)    {
2963: Inside #if defined(PIKE_DEBUG)
   }    }   #endif +  +  next = p->next; +  free_program(p);    }   }