Changeset: 9a90322010d7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9a90322010d7
Modified Files:
gdk/gdk_bbp.c
monetdb5/mal/mal_stack.c
Branch: Dec2016
Log Message:
Backout changeset 3a9afb7a8637 and fix problem in a better way.
When freeing a MAL stack, we need to also unfix BATs.
diffs (33 lines):
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -1739,13 +1739,11 @@ BBPexit(void)
bat tp = VIEWtparent(b);
bat vtp = VIEWvtparent(b);
if (tp) {
- if (BBP_desc(tp))
-
BBP_desc(tp)->batSharecnt--;
+
BBP_cache(tp)->batSharecnt--;
--BBP_lrefs(tp);
}
if (vtp) {
- if (BBP_desc(vtp))
-
BBP_desc(vtp)->batSharecnt--;
+
BBP_cache(vtp)->batSharecnt--;
--BBP_lrefs(vtp);
}
VIEWdestroy(b);
diff --git a/monetdb5/mal/mal_stack.c b/monetdb5/mal/mal_stack.c
--- a/monetdb5/mal/mal_stack.c
+++ b/monetdb5/mal/mal_stack.c
@@ -109,6 +109,10 @@ clearStack(MalStkPtr s)
GDKfree(v->val.pval);
v->vtype = 0;
v->val.pval = NULL;
+ } else if (BATatoms[v->vtype].atomUnfix) {
+ BATatoms[v->vtype].atomUnfix(VALget(v));
+ v->vtype = 0;
+ v->val.pval = NULL;
}
s->stkbot = 0;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list