- StgStablePtr ret = signalHandlerStore;
- if(ret==0) {
-#ifdef THREADED_RTS
- ACQUIRE_LOCK(&globalStoreLock);
- ret=signalHandlerStore;
- if(ret==0) {
-#endif
- signalHandlerStore = ret = ptr;
-#ifdef THREADED_RTS
- }
- RELEASE_LOCK(&globalStoreLock);
-#endif
- }
- return ret;
+ return getOrSetKey(GHCConcSignalHandlerStore,ptr);
+}
+
+StgStablePtr
+getOrSetGHCConcPendingEventsStore(StgStablePtr ptr)
+{
+ return getOrSetKey(GHCConcPendingEventsStore,ptr);
+}
+
+StgStablePtr
+getOrSetGHCConcPendingDelaysStore(StgStablePtr ptr)
+{
+ return getOrSetKey(GHCConcPendingDelaysStore,ptr);
+}
+
+StgStablePtr
+getOrSetGHCConcIOManagerThreadStore(StgStablePtr ptr)
+{
+ return getOrSetKey(GHCConcIOManagerThreadStore,ptr);
+}
+
+StgStablePtr
+getOrSetGHCConcProddingStore(StgStablePtr ptr)
+{
+ return getOrSetKey(GHCConcProddingStore,ptr);