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