X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FThreadLabels.c;h=2856ae7bfd5f5a12c61ca23993ab7919ffdc0ae9;hb=0e7803679c313842bd9a6fc9deba7809760ccd62;hp=dacd8a363da1731053bc1869f9157131cabdd0df;hpb=95371b03d1e5310f3b344cc2ecf29982e2bc9f5d;p=ghc-hetmet.git diff --git a/ghc/rts/ThreadLabels.c b/ghc/rts/ThreadLabels.c index dacd8a3..2856ae7 100644 --- a/ghc/rts/ThreadLabels.c +++ b/ghc/rts/ThreadLabels.c @@ -1,6 +1,15 @@ +/* ----------------------------------------------------------------------------- + * ThreadLabels.c + * + * (c) The GHC Team 2002-2003 + * + * Table of thread labels. + * + * ---------------------------------------------------------------------------*/ #include "PosixSource.h" #include "ThreadLabels.h" +#include "RtsUtils.h" #include @@ -9,8 +18,9 @@ static HashTable * threadLabels = NULL; void initThreadLabelTable(void) { - ASSERT(threadLabels == NULL); - threadLabels = allocHashTable(); + if (threadLabels == NULL) { + threadLabels = allocHashTable(); + } } void @@ -32,6 +42,6 @@ removeThreadLabel(StgWord key) void * old = NULL; if ((old = lookupHashTable(threadLabels,key))) { removeHashTable(threadLabels,key,old); - free(old); + stgFree(old); } }