diff options
Diffstat (limited to 'libraries/base/GHC/Event/Windows/Thread.hs')
-rw-r--r-- | libraries/base/GHC/Event/Windows/Thread.hs | 8 |
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 |