From e4545f9c9e0d94ebbba3532deab1fbdc9fbe70d1 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Fri, 8 Apr 2011 13:31:03 +0200 Subject: Make sure files exist before checking mod. time --- src-interval/Hakyll/Web/Preview/Poll.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src-interval/Hakyll/Web') 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 -- cgit v1.2.3