From 0205f341f5d817fcf3a43057db9d0ef2a23af98c Mon Sep 17 00:00:00 2001 From: bjorn Date: Fri, 17 Oct 2008 14:12:53 +0000 Subject: (fastcgi) replace DataRef with a more general Cache type, which can hold several PGF grammars. --- src/server/MainFastCGI.hs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/server/MainFastCGI.hs') diff --git a/src/server/MainFastCGI.hs b/src/server/MainFastCGI.hs index 059b26bb9..5f58787bd 100644 --- a/src/server/MainFastCGI.hs +++ b/src/server/MainFastCGI.hs @@ -2,6 +2,7 @@ import PGF (PGF) import qualified PGF +import Cache import FastCGIUtils import URLEncoding @@ -17,17 +18,18 @@ import Data.Maybe import System.Environment -grammarFile :: IO FilePath -grammarFile = do env <- getEnvironment - return $ fromMaybe "grammar.pgf" $ lookup "PGF_FILE" env +defaultGrammarFile :: IO FilePath +defaultGrammarFile = + do env <- getEnvironment + return $ fromMaybe "grammar.pgf" $ lookup "PGF_FILE" env main :: IO () main = do initFastCGI - ref <- grammarFile >>= newDataRef PGF.readPGF - runFastCGIConcurrent' forkIO 100 (handleErrors (handleCGIErrors (fcgiMain ref))) + cache <- newCache PGF.readPGF + runFastCGIConcurrent' forkIO 100 (handleErrors (handleCGIErrors (fcgiMain cache))) -fcgiMain :: DataRef PGF -> CGI CGIResult -fcgiMain ref = liftIO (getData ref) >>= cgiMain +fcgiMain :: Cache PGF -> CGI CGIResult +fcgiMain cache = liftIO (defaultGrammarFile >>= readCache cache) >>= cgiMain cgiMain :: PGF -> CGI CGIResult cgiMain pgf = -- cgit v1.2.3