1 /* -----------------------------------------------------------------------------
3 * (c) The GHC Team, 1995-2005
5 * Data.Typeable support
7 * ---------------------------------------------------------------------------*/
9 #include "RtsTypeable.h"
12 static StgPtr typeableStore = 0;
14 Mutex typeableStoreLock;
23 initMutex(&typeableStoreLock);
31 closeMutex(&typeableStoreLock);
33 if(typeableStore!=0) {
34 freeStablePtr((StgStablePtr)typeableStore);
40 getOrSetTypeableStore(StgPtr ptr)
42 StgPtr ret = typeableStore;
45 ACQUIRE_LOCK(&typeableStoreLock);
49 typeableStore = ret = ptr;
52 RELEASE_LOCK(&typeableStoreLock);