angel-0.6.1: test/test_jobs/CompliantJob.hs
module Main (main) where
import GHC.IO.Handle
import System.IO (stdout)
import Control.Concurrent.MVar (newEmptyMVar, putMVar, takeMVar)
import System.Exit (exitWith, ExitCode(ExitSuccess))
import System.Posix.Signals (installHandler, sigTERM, Handler(Catch))
main :: IO ()
main = do
hSetBuffering stdout NoBuffering
putStrLn "Compliant job started"
sig <- newEmptyMVar
installHandler sigTERM (Catch $ print "term" >> putMVar sig ExitSuccess) Nothing
exitWith =<< takeMVar sig