Changeset: c4a9f5e96130 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c4a9f5e96130 Modified Files: MonetDB5/src/modules/kernel/batcalc.mx Branch: Feb2010 Log Message:
more reference counting fixes diffs (69 lines): diff -r ab9d6ef27959 -r c4a9f5e96130 MonetDB5/src/modules/kernel/batcalc.mx --- a/MonetDB5/src/modules/kernel/batcalc.mx Sat Jun 19 21:03:57 2010 +0200 +++ b/MonetDB5/src/modules/kernel/batcalc.mx Sun Jun 20 11:45:01 2010 +0200 @@ -732,8 +732,10 @@ } BBPkeepref(*ret = bn->batCacheid); - BBPreleaseref(b->batCacheid); - BBPreleaseref(right->batCacheid); + if (b != bn) + BBPreleaseref(b->batCacheid); + if (right != bn) + BBPreleaseref(right->batCacheid); return res; } @@ -786,7 +788,8 @@ bn = r; } BBPkeepref(*ret = bn->batCacheid); - BBPreleaseref(b->batCacheid); + if (b != bn) + BBPreleaseref(b->batCacheid); return res; } @@ -835,7 +838,8 @@ bn = r; } BBPkeepref(*ret = bn->batCacheid); - BBPreleaseref(b->batCacheid); + if (b != bn) + BBPreleaseref(b->batCacheid); return res; } @- @@ -1015,8 +1019,10 @@ msg = batac...@2_@3...@4_@5(bn,b,right); BBPkeepref(*ret = bn->batCacheid); - BBPreleaseref(b->batCacheid); - BBPreleaseref(right->batCacheid); + if (b != bn) + BBPreleaseref(b->batCacheid); + if (right != bn) + BBPreleaseref(right->batCacheid); return msg; } @@ -1068,7 +1074,8 @@ if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ); BBPkeepref(*ret = bn->batCacheid); - BBPreleaseref(b->batCacheid); + if (b != bn) + BBPreleaseref(b->batCacheid); return MAL_SUCCEED; } @@ -1120,7 +1127,8 @@ if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ); BBPkeepref(*ret = bn->batCacheid); - BBPreleaseref(b->batCacheid); + if (b != bn) + BBPreleaseref(b->batCacheid); return MAL_SUCCEED; } @c _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list