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/FastCGIUtils.hs | 26 -------------------------- 1 file changed, 26 deletions(-) (limited to 'src/server/FastCGIUtils.hs') diff --git a/src/server/FastCGIUtils.hs b/src/server/FastCGIUtils.hs index 1b75403d5..e9824d099 100644 --- a/src/server/FastCGIUtils.hs +++ b/src/server/FastCGIUtils.hs @@ -1,6 +1,5 @@ {-# LANGUAGE DeriveDataTypeable #-} module FastCGIUtils (initFastCGI, loopFastCGI, - DataRef, newDataRef, getData, throwCGIError, handleCGIErrors) where import Control.Concurrent @@ -17,7 +16,6 @@ import System.IO.Unsafe import System.Posix import System.Time - import Network.FastCGI initFastCGI :: IO () @@ -101,30 +99,6 @@ restartIfModified = -- FIXME: setCurrentDirectory? executeFile prog False args Nothing --- Utilities for getting and caching read-only data from disk. --- The data is reloaded when the file on disk has been modified. - -data DataRef a = DataRef { - dataFile :: FilePath, - dataLoad :: FilePath -> IO a, - dataValue :: MVar (ClockTime, a) - } - -newDataRef :: (FilePath -> IO a) -> FilePath -> IO (DataRef a) -newDataRef load file = - do t <- getModificationTime file - x <- load file - v <- newMVar (t,x) - return $ DataRef { dataFile = file, dataLoad = load, dataValue = v } - -getData :: DataRef a -> IO a -getData ref = - do t' <- getModificationTime (dataFile ref) - (t,x) <- takeMVar (dataValue ref) - x' <- if t' == t then return x else (dataLoad ref) (dataFile ref) - putMVar (dataValue ref) (t',x') - return x' - -- Logging logError :: String -> IO () -- cgit v1.2.3