cvsuser 03/01/14 00:09:39
Modified: config/gen/makefiles classes.in root.in
. core.ops dod.c
Log:
mem leak in nci + skip bug; make progclean
Revision Changes Path
1.7 +5 -2 parrot/config/gen/makefiles/classes.in
Index: classes.in
===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/classes.in,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -w -r1.6 -r1.7
--- classes.in 18 Dec 2002 04:25:32 -0000 1.6
+++ classes.in 14 Jan 2003 08:09:36 -0000 1.7
@@ -27,8 +27,11 @@
${pmc_build}
-clean:
- $(RM_F) *.c *$(O) *.h
+clean: progclean
+ $(RM_F) *.c *.h
+
+progclean:
+ $(RM_F) *$(O)
update:
cvs -q update -dP
1.65 +8 -4 parrot/config/gen/makefiles/root.in
Index: root.in
===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -w -r1.64 -r1.65
--- root.in 5 Jan 2003 00:41:53 -0000 1.64
+++ root.in 14 Jan 2003 08:09:36 -0000 1.65
@@ -557,24 +557,28 @@
#
###############################################################################
-clean : testclean
+clean : testclean progclean
${cg_r}
- $(RM_F) $(O_FILES)
$(RM_F) *.s
$(RM_F) $(FLUID_FILES)
- $(RM_F) $(TEST_PROG) test_main$(O) $(PDUMP) pdump$(O)
$(RM_F) examples/assembly/mops${exe} examples/assembly/mops.c
$(RM_F) examples/assembly/mops$(O) examples/assembly/mops.pbc
$(RM_F) examples/mops/mops$(O) examples/mops/mops${exe}
- $(RM_RF) blib
$(RM_F) *~
cd docs && $(MAKE) clean && cd ..
cd classes && $(MAKE) clean && cd ..
cd languages && $(MAKE) clean && cd ..
+progclean:
+ $(RM_F) $(O_FILES)
+ $(RM_F) $(TEST_PROG) test_main$(O) $(PDUMP) pdump$(O)
+ $(RM_RF) blib
+ cd classes && $(MAKE) progclean && cd ..
+
testclean :
$(RM_F) t/op/*.pasm t/op/*.pbc t/op/*.out
$(RM_F) t/pmc/*.pasm t/pmc/*.pbc t/pmc/*.out
+ $(RM_F) t/stress/*.pasm t/stress/*.pbc t/stress/*.out
$(RM_F) t/src/*.o t/src/*.c
realclean : clean
1.246 +2 -1 parrot/core.ops
Index: core.ops
===================================================================
RCS file: /cvs/public/parrot/core.ops,v
retrieving revision 1.245
retrieving revision 1.246
diff -u -w -r1.245 -r1.246
--- core.ops 10 Jan 2003 17:04:11 -0000 1.245
+++ core.ops 14 Jan 2003 08:09:39 -0000 1.246
@@ -4523,9 +4523,10 @@
}
op dlfunc (out PMC, in PMC, in STR, in STR) {
- const char * name = string_to_cstring(interpreter, ($3));
+ char * name = string_to_cstring(interpreter, ($3));
Parrot_csub_t p = (Parrot_csub_t)D2FPTR(Parrot_dlsym(($2)->data, name));
+ free(name);
if(p == NULL) {
const char * err = Parrot_dlerror();
if(err != NULL) {
1.46 +2 -2 parrot/dod.c
Index: dod.c
===================================================================
RCS file: /cvs/public/parrot/dod.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -w -r1.45 -r1.46
--- dod.c 11 Jan 2003 14:05:10 -0000 1.45
+++ dod.c 14 Jan 2003 08:09:39 -0000 1.46
@@ -1,7 +1,7 @@
/* dod.c
* Copyright: (When this is determined...it will go here)
* CVS Info
- * $Id: dod.c,v 1.45 2003/01/11 14:05:10 leo Exp $
+ * $Id: dod.c,v 1.46 2003/01/14 08:09:39 leo Exp $
* Overview:
* Handles dead object destruction of the various headers
* Data Structure and Algorithms:
@@ -541,7 +541,7 @@
/* Note it */
interpreter->dod_runs++;
/* if we don't have more free objects then last, skip next DOD run */
- if (total_free <= last_total_free)
+ if (total_free < last_total_free)
skip = 1;
last_total_free = total_free;
Parrot_unblock_DOD(interpreter);