From 43d5016996905cc4fd325ecc739d64eb29aa0aa1 Mon Sep 17 00:00:00 2001 From: hallgren Date: Tue, 25 Sep 2012 19:08:33 +0000 Subject: Use the SIO monad in the GF shell + The restrictions on arbitrary IO when GF is running in restricted mode is now enforced in the types. + This hopefully also solves an intermittent problem when accessing the GF shell through the web API provided by gf -server. This was visible in the Simple Translation Tool and probably caused by some low-level bug in the GHC IO libraries. --- src/compiler/GF/Infra/UseIO.hs | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'src/compiler/GF/Infra/UseIO.hs') diff --git a/src/compiler/GF/Infra/UseIO.hs b/src/compiler/GF/Infra/UseIO.hs index a9b3cada2..9f2d27f3f 100644 --- a/src/compiler/GF/Infra/UseIO.hs +++ b/src/compiler/GF/Infra/UseIO.hs @@ -197,16 +197,6 @@ writeUTF8File fpath content = do readBinaryFile path = hGetContents =<< openBinaryFile path ReadMode writeBinaryFile path s = withBinaryFile path WriteMode (flip hPutStr s) --- * Functions to limit acesss to arbitrary IO and system commands -restricted io = - either (const io) (const $ fail message) =<< try (getEnv "GF_RESTRICTED") - where - message = - "This operation is not allowed when GF is running in restricted mode." - -restrictedSystem = restricted . system - - -- Because GHC adds the confusing text "user error" for failures cased by -- calls to fail. ioErrorText e = if isUserError e -- cgit v1.2.3