diff options
author | Steve Bennett <steveb@workware.net.au> | 2011-04-09 08:22:41 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2011-06-10 14:00:11 +1000 |
commit | 34351d354006c44bd6fc21f1d509b7996d88004f (patch) | |
tree | 1d469401138ba9a287baac315af626d14566b860 /jim.c | |
parent | 4485f8dc9597d344186756024bec2e4e38dd4044 (diff) | |
download | jimtcl-34351d354006c44bd6fc21f1d509b7996d88004f.zip jimtcl-34351d354006c44bd6fc21f1d509b7996d88004f.tar.gz jimtcl-34351d354006c44bd6fc21f1d509b7996d88004f.tar.bz2 |
collect now also frees objects in the free list
Allows for better management of memory
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.c')
-rw-r--r-- | jim.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -13059,6 +13059,14 @@ static int Jim_CollectCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const * return JIM_ERR; } Jim_SetResultInt(interp, Jim_Collect(interp)); + + /* Free all the freed objects. */ + while (interp->freeList) { + Jim_Obj *nextObjPtr = interp->freeList->nextObjPtr; + Jim_Free(interp->freeList); + interp->freeList = nextObjPtr; + } + return JIM_OK; } |