pugs-compat-0.0.1: src/Pugs/Compat/Global.hs
module Pugs.Compat.Global (
_GlobalFinalizer,
safeMode
) where
import Data.IORef
import System.IO.Unsafe
import Pugs.Compat.Posix
import Pugs.Compat.Monads
{-|
Returns @True@ if the environment variable @PUGS_SAFEMODE@ is set to a
true value. Most IO primitives are disabled under safe mode.
-}
safeMode :: Bool
safeMode = case (inlinePerformIO $ getEnv "PUGS_SAFEMODE") of
Nothing -> False
Just "" -> False
Just "0" -> False
_ -> True
{-# NOINLINE _GlobalFinalizer #-}
_GlobalFinalizer :: IORef (IO ())
_GlobalFinalizer = unsafePerformIO $ newIORef (return ())