From 7c9ff164bf89b6f39da5ad2c43f7772324e1c141 Mon Sep 17 00:00:00 2001 From: hallgren Date: Mon, 12 May 2014 13:45:36 +0000 Subject: gf -server: include list of loaded PGFs in version info --- src/server/Cache.hs | 5 ++++- src/server/PGFService.hs | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/server') diff --git a/src/server/Cache.hs b/src/server/Cache.hs index bde07745a..c845bb013 100644 --- a/src/server/Cache.hs +++ b/src/server/Cache.hs @@ -1,4 +1,4 @@ -module Cache (Cache,newCache,flushCache,readCache,readCache') where +module Cache (Cache,newCache,flushCache,listCache,readCache,readCache') where import Control.Concurrent.MVar import Data.Map (Map) @@ -22,6 +22,9 @@ flushCache :: Cache a -> IO () flushCache c = do modifyMVar_ (cacheObjects c) (const (return Map.empty)) performGC +listCache :: Cache a -> IO [FilePath] +listCache = fmap Map.keys . readMVar . cacheObjects + readCache :: Cache a -> FilePath -> IO a readCache c file = snd `fmap` readCache' c file diff --git a/src/server/PGFService.hs b/src/server/PGFService.hs index 3441554ec..4024c0496 100644 --- a/src/server/PGFService.hs +++ b/src/server/PGFService.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} module PGFService(cgiMain,cgiMain',getPath, logFile,stderrToFile, - newPGFCache,flushPGFCache) where + newPGFCache,flushPGFCache,listPGFCache) where import PGF (PGF) import qualified PGF @@ -57,11 +57,13 @@ newPGFCache = do pgfCache <- newCache PGF.readPGF return (pgf,({-pc-})) return (pgfCache,cCache) flushPGFCache (c1,c2) = flushCache c1 >> flushCache c2 +listPGFCache (c1,c2) = (,) # listCache c1 % listCache c2 #else type Caches = (Cache PGF,()) newPGFCache = do pgfCache <- newCache PGF.readPGF return (pgfCache,()) flushPGFCache (c1,_) = flushCache c1 +listPGFCache (c1,_) = (,) # listCache c1 % return [] #endif getPath = -- cgit v1.2.3