angel-0.6.1: test/test_jobs/StubbornJob.hs
module Main (main) where
import GHC.IO.Handle
import System.IO (stdout)
import Control.Concurrent (threadDelay, forkIO)
import Control.Concurrent.MVar (newEmptyMVar, takeMVar, putMVar)
import System.Posix.Signals (installHandler, sigTERM, Handler(Catch))
main :: IO ()
main = do
hSetBuffering stdout NoBuffering
putStrLn "Stubborn job started"
sig <- newEmptyMVar
installHandler sigTERM (Catch $ print "term, ignoring" >> return ()) Nothing
forkIO $ threadDelay maxBound >> putMVar sig ()
() <- takeMVar sig
return ()