X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FTypeable.c;fp=rts%2FTypeable.c;h=0000000000000000000000000000000000000000;hp=88151b7d4743b70e63acca360f49d0a7ee5f8068;hb=2b569f55bdaaeb0cbff16f9e2bf90e14a2fb3139;hpb=e06849a10aedcd41edd5b32d6f7a0c1d133f0500 diff --git a/rts/Typeable.c b/rts/Typeable.c deleted file mode 100644 index 88151b7..0000000 --- a/rts/Typeable.c +++ /dev/null @@ -1,56 +0,0 @@ -/* ----------------------------------------------------------------------------- - * - * (c) The GHC Team, 1995-2005 - * - * Data.Typeable support - * - * ---------------------------------------------------------------------------*/ - -#include "Rts.h" -#include "RtsTypeable.h" - -static StgPtr typeableStore = 0; -#ifdef THREADED_RTS -Mutex typeableStoreLock; -#endif - - -void -initTypeableStore() -{ - typeableStore=0; -#ifdef THREADED_RTS - initMutex(&typeableStoreLock); -#endif -} - -void -exitTypeableStore() -{ -#ifdef THREADED_RTS - closeMutex(&typeableStoreLock); -#endif - if(typeableStore!=0) { - freeStablePtr((StgStablePtr)typeableStore); - typeableStore=0; - } -} - -StgPtr -getOrSetTypeableStore(StgPtr ptr) -{ - StgPtr ret = typeableStore; - if(ret==0) { -#ifdef THREADED_RTS - ACQUIRE_LOCK(&typeableStoreLock); - ret=typeableStore; - if(ret==0) { -#endif - typeableStore = ret = ptr; -#ifdef THREADED_RTS - } - RELEASE_LOCK(&typeableStoreLock); -#endif - } - return ret; -}