diff options
| author | stolz <unknown> | 2002-06-26 08:20:25 +0000 |
|---|---|---|
| committer | stolz <unknown> | 2002-06-26 08:20:25 +0000 |
| commit | 9bcc295e75b8873915903f1b6aab2d29ed2f7bca (patch) | |
| tree | 17e16a0d44e59a961abb882b3400f7fb499148b3 /ghc/rts/ThreadLabels.c | |
| parent | fbbed914e114b6b55158319dca8956885f301ff5 (diff) | |
| download | haskell-9bcc295e75b8873915903f1b6aab2d29ed2f7bca.tar.gz | |
[project @ 2002-06-26 08:20:25 by stolz]
The "Ouch"-commit:
- didn't notice my local change to libraries/Makefile
- forgot to register new files
Diffstat (limited to 'ghc/rts/ThreadLabels.c')
| -rw-r--r-- | ghc/rts/ThreadLabels.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ghc/rts/ThreadLabels.c b/ghc/rts/ThreadLabels.c new file mode 100644 index 0000000000..fda40c3f00 --- /dev/null +++ b/ghc/rts/ThreadLabels.c @@ -0,0 +1,35 @@ + +#include "PosixSource.h" +#include "ThreadLabels.h" + +HashTable * threadLabels = NULL; + +void +initThreadLabelTable(void) +{ + ASSERT(threadLabels == NULL); + threadLabels = allocHashTable(); +} + +void +updateThreadLabel(StgWord key, void *data) +{ + removeThreadLabel(key); + insertHashTable(threadLabels,key,data); +} + +void * +lookupThreadLabel(StgWord key) +{ + return lookupHashTable(threadLabels,key); +} + +void +removeThreadLabel(StgWord key) +{ + void * old = NULL; + if ((old = lookupHashTable(threadLabels,key))) { + removeHashTable(threadLabels,key,old); + free(old); + } +} |
