X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FThreadLabels.c;h=9b9f1723ffdc0f6a8055279843e8eab6aaeeb4d1;hb=2322bc9a89a9d8a6132a6818ccff6f665d7ed7f1;hp=dacd8a363da1731053bc1869f9157131cabdd0df;hpb=95371b03d1e5310f3b344cc2ecf29982e2bc9f5d;p=ghc-hetmet.git diff --git a/ghc/rts/ThreadLabels.c b/ghc/rts/ThreadLabels.c index dacd8a3..9b9f172 100644 --- a/ghc/rts/ThreadLabels.c +++ b/ghc/rts/ThreadLabels.c @@ -1,16 +1,28 @@ +/* ----------------------------------------------------------------------------- + * ThreadLabels.c + * + * (c) The GHC Team 2002-2003 + * + * Table of thread labels. + * + * ---------------------------------------------------------------------------*/ #include "PosixSource.h" #include "ThreadLabels.h" +#include "RtsUtils.h" #include +#if defined(DEBUG) +/* to the end */ static HashTable * threadLabels = NULL; void initThreadLabelTable(void) { - ASSERT(threadLabels == NULL); - threadLabels = allocHashTable(); + if (threadLabels == NULL) { + threadLabels = allocHashTable(); + } } void @@ -32,6 +44,7 @@ removeThreadLabel(StgWord key) void * old = NULL; if ((old = lookupHashTable(threadLabels,key))) { removeHashTable(threadLabels,key,old); - free(old); + stgFree(old); } } +#endif /* DEBUG */