Branch: Tag:

2002-03-01

2002-03-01 02:32:14 by Martin Stjernholm <mast@lysator.liu.se>

Added a comment about the shaky state of affairs when a delayed
compiled program fails to be finished properly. It's essentially
impossible to reliably avoid arbitrary internal errors once that has
happened. The whole resolver stuff really needs a rewrite.

Rev: src/program.c:1.406

5:   \*/   /**/   #include "global.h" - RCSID("$Id: program.c,v 1.405 2002/02/27 10:01:14 grubba Exp $"); + RCSID("$Id: program.c,v 1.406 2002/03/01 02:32:14 mast Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"
5195: Inside #if defined(PIKE_DEBUG)
     #ifdef PIKE_DEBUG    if (p->refs > 1) { +  /* Other programs can have indexed out constants from p, which +  * might be broken themselves and/or keep references to p +  * through the parent pointer. We should find all those other +  * programs and invalidate them too, but how can that be done? +  * The whole delayed compilation thingie is icky icky icky... :P +  * /mast */    fprintf(stderr, "Warning: Program still got %d "    "external refs after unregister:\n", p->refs - 1);    locate_references(p);