packages feed

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