don't leave dangling pointers to switch tables, as they can be removed
easily. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@913 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
@@ -423,6 +423,13 @@ kill_first_log_iblock(LogUpdIndex *c, LogUpdIndex *cl, PredEntry *ap)
|
||||
Yap_FreeCodeSpace((CODEADDR)c);
|
||||
} else {
|
||||
c->ClFlags |= ErasedMask;
|
||||
/* try to move up, so that we don't hold an index */
|
||||
if (cl != NULL &&
|
||||
cl->ClFlags & SwitchTableMask) {
|
||||
c->u.ParentIndex = cl->u.ParentIndex;
|
||||
cl->u.ParentIndex->ClRefCount++;
|
||||
cl->ClRefCount--;
|
||||
}
|
||||
c->ChildIndex = NULL;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user