diff options
author | Jasper Van der Jeugt <jaspervdj@gmail.com> | 2011-04-08 13:31:03 +0200 |
---|---|---|
committer | Jasper Van der Jeugt <jaspervdj@gmail.com> | 2011-04-08 13:31:03 +0200 |
commit | e4545f9c9e0d94ebbba3532deab1fbdc9fbe70d1 (patch) | |
tree | c56b39a4570ed2bdc9bfe2fa9980a7c4d8eea2b2 /src-interval/Hakyll/Web | |
parent | 3e03730666852be6f43508d4403cd4968067f793 (diff) | |
download | hakyll-e4545f9c9e0d94ebbba3532deab1fbdc9fbe70d1.tar.gz |
Make sure files exist before checking mod. time
Diffstat (limited to 'src-interval/Hakyll/Web')
-rw-r--r-- | src-interval/Hakyll/Web/Preview/Poll.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src-interval/Hakyll/Web/Preview/Poll.hs b/src-interval/Hakyll/Web/Preview/Poll.hs index bb18b51..7a11b6c 100644 --- a/src-interval/Hakyll/Web/Preview/Poll.hs +++ b/src-interval/Hakyll/Web/Preview/Poll.hs @@ -7,11 +7,11 @@ module Hakyll.Web.Preview.Poll import Control.Applicative ((<$>)) import Control.Concurrent (threadDelay) -import Control.Monad (when) +import Control.Monad (when, filterM) import System.Time (getClockTime) import Data.Set (Set) import qualified Data.Set as S -import System.Directory (getModificationTime) +import System.Directory (getModificationTime, doesFileExist) import Hakyll.Core.Configuration import Hakyll.Core.Identifier @@ -31,6 +31,7 @@ previewPoll _ resources callback = do delay = 1000000 loop files time = do threadDelay delay - modified <- any (time <) <$> mapM getModificationTime files - when modified callback - loop files =<< getClockTime + files' <- filterM doesFileExist files + modified <- any (time <) <$> mapM getModificationTime files' + when (modified || files' /= files) callback + loop files' =<< getClockTime |