diff options
author | Jasper Van der Jeugt <jaspervdj@gmail.com> | 2011-04-06 09:30:24 +0200 |
---|---|---|
committer | Jasper Van der Jeugt <jaspervdj@gmail.com> | 2011-04-06 09:30:24 +0200 |
commit | 3d2b2506d040546d74e83f6d9b8b4e0c45026f09 (patch) | |
tree | 60e5b351ac6e3b08fadce7b699aa734b1c6f1cbc /src/Hakyll/Core/Resource/Provider | |
parent | 015663657ceca7b168bf7d91fbc2fccc41c40904 (diff) | |
download | hakyll-3d2b2506d040546d74e83f6d9b8b4e0c45026f09.tar.gz |
Move modified cache to resource provider
Currently, it's kept twice: in Run and in the Provider. On
the long term, it should be migrated entirely to the
Provider, this can be done when the new dependency manager
is finished.
Diffstat (limited to 'src/Hakyll/Core/Resource/Provider')
-rw-r--r-- | src/Hakyll/Core/Resource/Provider/File.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Hakyll/Core/Resource/Provider/File.hs b/src/Hakyll/Core/Resource/Provider/File.hs index a795fac..953d61c 100644 --- a/src/Hakyll/Core/Resource/Provider/File.hs +++ b/src/Hakyll/Core/Resource/Provider/File.hs @@ -5,6 +5,8 @@ module Hakyll.Core.Resource.Provider.File ) where import Control.Applicative ((<$>)) +import Control.Concurrent (newMVar) +import qualified Data.Map as M import qualified Data.ByteString.Lazy as LB @@ -22,9 +24,13 @@ fileResourceProvider configuration = do list <- map parseIdentifier . filter (not . ignoreFile configuration) <$> getRecursiveContents False "." + -- MVar for the cache + mvar <- newMVar M.empty + -- Construct a resource provider return ResourceProvider { resourceList = map Resource list , resourceString = readFile . toFilePath . unResource , resourceLazyByteString = LB.readFile . toFilePath . unResource + , resourceModifiedCache = mvar } |