summaryrefslogtreecommitdiff
path: root/libraries/base/GHC/Event/Thread.hs
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/base/GHC/Event/Thread.hs')
-rw-r--r--libraries/base/GHC/Event/Thread.hs11
1 files changed, 5 insertions, 6 deletions
diff --git a/libraries/base/GHC/Event/Thread.hs b/libraries/base/GHC/Event/Thread.hs
index fb40cde4d0..367791354f 100644
--- a/libraries/base/GHC/Event/Thread.hs
+++ b/libraries/base/GHC/Event/Thread.hs
@@ -197,8 +197,7 @@ eventManager = unsafePerformIO $ do
{-# NOINLINE eventManager #-}
numEnabledEventManagers :: IORef Int
-numEnabledEventManagers = unsafePerformIO $ do
- newIORef 0
+numEnabledEventManagers = unsafePerformIO $ newIORef 0
{-# NOINLINE numEnabledEventManagers #-}
foreign import ccall unsafe "getOrSetSystemEventThreadIOManagerThreadStore"
@@ -213,10 +212,10 @@ ioManagerLock = unsafePerformIO $ do
sharedCAF m getOrSetSystemEventThreadIOManagerThreadStore
getSystemTimerManager :: IO TM.TimerManager
-getSystemTimerManager = do
+getSystemTimerManager =
fromMaybe err `fmap` readIORef timerManager
- where
- err = error "GHC.Event.Thread.getSystemTimerManager: the TimerManager requires linking against the threaded runtime"
+ where
+ err = error "GHC.Event.Thread.getSystemTimerManager: the TimerManager requires linking against the threaded runtime"
foreign import ccall unsafe "getOrSetSystemTimerThreadEventManagerStore"
getOrSetSystemTimerThreadEventManagerStore :: Ptr a -> IO (Ptr a)
@@ -325,7 +324,7 @@ startTimerManagerThread = modifyMVar_ timerManagerThreadVar $ \old -> do
foreign import ccall unsafe "rtsSupportsBoundThreads" threaded :: Bool
ioManagerCapabilitiesChanged :: IO ()
-ioManagerCapabilitiesChanged = do
+ioManagerCapabilitiesChanged =
withMVar ioManagerLock $ \_ -> do
new_n_caps <- getNumCapabilities
numEnabled <- readIORef numEnabledEventManagers