diff options
| author | hallgren <hallgren@chalmers.se> | 2014-03-19 16:15:05 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2014-03-19 16:15:05 +0000 |
| commit | b061d59044b0cc689cf270617364ab36c8a0792f (patch) | |
| tree | b3cf29ad4a7ae608be8b0de043fd055d7b046e5d /src/server/Cache.hs | |
| parent | cbb538e170c9a7233e2ca438db8560d60fd91609 (diff) | |
gf -server: add a command to manually flush the PGF cache
This can be used if the cloud service seems slow, but it would probably
be better to automatically expire unused PGFs from the cache after some time.
Diffstat (limited to 'src/server/Cache.hs')
| -rw-r--r-- | src/server/Cache.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/Cache.hs b/src/server/Cache.hs index d704fe495..8cb9135e2 100644 --- a/src/server/Cache.hs +++ b/src/server/Cache.hs @@ -1,4 +1,4 @@ -module Cache (Cache,newCache,readCache) where +module Cache (Cache,newCache,flushCache,readCache) where import Control.Concurrent.MVar import Data.Map (Map) @@ -17,6 +17,9 @@ newCache load = do objs <- newMVar Map.empty return $ Cache { cacheLoad = load, cacheObjects = objs } +flushCache :: Cache a -> IO () +flushCache c = modifyMVar_ (cacheObjects c) (const (return Map.empty)) + readCache :: Cache a -> FilePath -> IO a readCache c file = do v <- modifyMVar (cacheObjects c) findEntry |
