remove empty dir
[ghc-hetmet.git] / rts / ThreadLabels.c
1 /* -----------------------------------------------------------------------------
2  * ThreadLabels.c
3  *
4  * (c) The GHC Team 2002-2003
5  *
6  * Table of thread labels.
7  *
8  * ---------------------------------------------------------------------------*/
9
10 #include "PosixSource.h"
11 #include "ThreadLabels.h"
12 #include "RtsUtils.h"
13
14 #include <stdlib.h>
15
16 #if defined(DEBUG)
17 /* to the end */
18 static HashTable * threadLabels = NULL;
19
20 void
21 initThreadLabelTable(void)
22 {
23   if (threadLabels == NULL) {
24     threadLabels = allocHashTable();
25   }
26 }
27
28 void
29 updateThreadLabel(StgWord key, void *data)
30 {
31   removeThreadLabel(key);
32   insertHashTable(threadLabels,key,data);
33 }
34
35 void *
36 lookupThreadLabel(StgWord key)
37 {
38   return lookupHashTable(threadLabels,key);
39 }
40
41 void
42 removeThreadLabel(StgWord key)
43 {
44   void * old = NULL;
45   if ((old = lookupHashTable(threadLabels,key))) {
46     removeHashTable(threadLabels,key,old);
47     stgFree(old);
48   }  
49 }
50 #endif /* DEBUG */