X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FThreadLabels.c;h=2856ae7bfd5f5a12c61ca23993ab7919ffdc0ae9;hb=b87accfa195f0baa3ddf37c7593c0205ac444521;hp=79a0a77e65470e863e14ac19fc0d87aee023fffd;hpb=7457757f193b28b5fe8fee01edbed012c2fda897;p=ghc-hetmet.git diff --git a/ghc/rts/ThreadLabels.c b/ghc/rts/ThreadLabels.c index 79a0a77..2856ae7 100644 --- a/ghc/rts/ThreadLabels.c +++ b/ghc/rts/ThreadLabels.c @@ -1,16 +1,26 @@ +/* ----------------------------------------------------------------------------- + * ThreadLabels.c + * + * (c) The GHC Team 2002-2003 + * + * Table of thread labels. + * + * ---------------------------------------------------------------------------*/ #include "PosixSource.h" #include "ThreadLabels.h" +#include "RtsUtils.h" #include -HashTable * threadLabels = NULL; +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); } }