summaryrefslogtreecommitdiff
path: root/libraries/base/GHC/Event/Windows/Thread.hs
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/base/GHC/Event/Windows/Thread.hs')
-rw-r--r--libraries/base/GHC/Event/Windows/Thread.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/libraries/base/GHC/Event/Windows/Thread.hs b/libraries/base/GHC/Event/Windows/Thread.hs
index 57faa9de80..96319ecd7c 100644
--- a/libraries/base/GHC/Event/Windows/Thread.hs
+++ b/libraries/base/GHC/Event/Windows/Thread.hs
@@ -11,7 +11,7 @@ import GHC.Conc.Sync
import GHC.Base
import GHC.Event.Windows
import GHC.IO
-import GHC.IOPort
+import GHC.MVar
ensureIOManagerIsRunning :: IO ()
ensureIOManagerIsRunning = wakeupIOManager
@@ -21,10 +21,10 @@ interruptIOManager = interruptSystemManager
threadDelay :: Int -> IO ()
threadDelay usecs = mask_ $ do
- m <- newEmptyIOPort
+ m <- newEmptyMVar
mgr <- getSystemManager
- reg <- registerTimeout mgr usecs $ writeIOPort m () >> return ()
- readIOPort m `onException` unregisterTimeout mgr reg
+ reg <- registerTimeout mgr usecs $ putMVar m () >> return ()
+ readMVar m `onException` unregisterTimeout mgr reg
registerDelay :: Int -> IO (TVar Bool)
registerDelay usecs = do