Changeset: 64f45efd749e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=64f45efd749e
Modified Files:
        gdk/gdk_bbp.c
Branch: viewless
Log Message:

make sure that we do not delete a vheap that is shared


diffs (25 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2418,6 +2418,7 @@ decref(bat i, bool logical, bool release
        if (lock)
                MT_lock_set(&GDKswapLock(i));
        if (releaseShare) {
+               assert(BBP_desc(i)->vHeapSharecnt > 0);
                --BBP_desc(i)->vHeapSharecnt;
                if (lock)
                        MT_lock_unset(&GDKswapLock(i));
@@ -2718,11 +2719,10 @@ BBPdestroy(BAT *b)
                        (*tunfix) (BUNtail(bi, p));
                }
        }
+       if (svp) b->tvheap = NULL;
        BATdelete(b);   /* handles persistent case also (file deletes) */
        BBPclear(b->batCacheid);        /* if destroyed; de-register from BBP */
-
-       if (svp)
-               GDKunshare(svp);
+       if (svp) GDKunshare(svp);
 }
 
 static gdk_return
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to