diff options
Diffstat (limited to 'Utility/ThreadLock.hs')
-rw-r--r-- | Utility/ThreadLock.hs | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/Utility/ThreadLock.hs b/Utility/ThreadLock.hs index 4285c0ec5..c029a2b0c 100644 --- a/Utility/ThreadLock.hs +++ b/Utility/ThreadLock.hs @@ -7,11 +7,7 @@ module Utility.ThreadLock where -import Common - -import System.Posix.Terminal import Control.Concurrent.MVar -import System.Posix.Signals type Lock = MVar () @@ -21,15 +17,3 @@ newLock = newMVar () {- Runs an action with a lock held, so only one thread at a time can run it. -} withLock :: Lock -> IO a -> IO a withLock lock = withMVar lock . const - -{- Pauses the main thread, letting children run until program termination. -} -waitForTermination :: IO () -waitForTermination = do - lock <- newEmptyMVar - check softwareTermination lock - whenM (queryTerminal stdInput) $ - check keyboardSignal lock - takeMVar lock - where - check sig lock = void $ - installHandler sig (CatchOnce $ putMVar lock ()) Nothing |