Changeset: dbc145adc6f5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dbc145adc6f5
Modified Files:
        monetdb5/modules/kernel/bat5.c
Branch: Jul2017
Log Message:

Make thread safe.


diffs (47 lines):

diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c
--- a/monetdb5/modules/kernel/bat5.c
+++ b/monetdb5/modules/kernel/bat5.c
@@ -146,15 +146,11 @@ infoHeap(BAT *bk, BAT*bv, Heap *hp, str 
        return GDK_SUCCEED;
 }
 
-static char *
-oidtostr(oid i)
+static inline char *
+oidtostr(oid i, char *p, int len)
 {
-       int len = 48;
-       static char bf[48];
-       char *p = bf;
-
        (void) OIDtoStr(&p, &len, &i);
-       return bf;
+       return p;
 }
 
 /*
@@ -673,6 +669,7 @@ BKCinfo(bat *ret1, bat *ret2, const bat 
 {
        const char *mode, *accessmode;
        BAT *bk = NULL, *bv= NULL, *b;
+       char bf[oidStrlen];
 
        if ((b = BATdescriptor(*bid)) == NULL) {
                throw(MAL, "bat.getInfo", RUNTIME_OBJECT_MISSING);
@@ -737,14 +734,14 @@ BKCinfo(bat *ret1, bat *ret2, const bat 
            BUNappend(bv, BATdirty(b) ? "dirty" : "clean", FALSE) != 
GDK_SUCCEED ||
 
            BUNappend(bk, "hseqbase", FALSE) != GDK_SUCCEED ||
-           BUNappend(bv, oidtostr(b->hseqbase), FALSE) != GDK_SUCCEED ||
+           BUNappend(bv, oidtostr(b->hseqbase, bf, (int) sizeof(bf)), FALSE) 
!= GDK_SUCCEED ||
 
            BUNappend(bk, "tident", FALSE) != GDK_SUCCEED ||
            BUNappend(bv, b->tident, FALSE) != GDK_SUCCEED ||
            BUNappend(bk, "tdense", FALSE) != GDK_SUCCEED ||
            BUNappend(bv, local_itoa((ssize_t)(BATtdense(b))), FALSE) != 
GDK_SUCCEED ||
            BUNappend(bk, "tseqbase", FALSE) != GDK_SUCCEED ||
-           BUNappend(bv, oidtostr(b->tseqbase), FALSE) != GDK_SUCCEED ||
+           BUNappend(bv, oidtostr(b->tseqbase, bf, (int) sizeof(bf)), FALSE) 
!= GDK_SUCCEED ||
            BUNappend(bk, "tsorted", FALSE) != GDK_SUCCEED ||
            BUNappend(bv, local_itoa((ssize_t)BATtordered(b)), FALSE) != 
GDK_SUCCEED ||
            BUNappend(bk, "trevsorted", FALSE) != GDK_SUCCEED ||
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to