Branch: Tag:

2010-04-16

2010-04-16 00:15:17 by Martin Stjernholm <mast@lysator.liu.se>

Fixed gc recurse svalue macros to behave correctly in visit functions.

This bug could make Pike.count_memory miss some memory, but more importantly
it could put garbage in the gc mark queue, which in turn might cause a later
gc run to barf. This is likely to fix [bug 5072 (#5072)].

Rev: src/gc.c:1.344
Rev: src/gc.h:1.140

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: gc.c,v 1.343 2010/04/15 23:32:03 mast Exp $ + || $Id: gc.c,v 1.344 2010/04/16 00:15:17 mast Exp $   */      #include "global.h"
4268:    return PIKE_T_UNKNOWN;   }    + PMOD_EXPORT void real_visit_svalues (const struct svalue *s, size_t num, +  int ref_type) + { +  for (; num; num--, s++) +  visit_svalue (s, ref_type); + } +    /* Memory counting    *    * This mode is used by f_count_memory, and it's recognized by a