summaryrefslogtreecommitdiff
path: root/src-interval/Hakyll/Web
diff options
context:
space:
mode:
authorJasper Van der Jeugt <jaspervdj@gmail.com>2011-04-08 13:31:03 +0200
committerJasper Van der Jeugt <jaspervdj@gmail.com>2011-04-08 13:31:03 +0200
commite4545f9c9e0d94ebbba3532deab1fbdc9fbe70d1 (patch)
treec56b39a4570ed2bdc9bfe2fa9980a7c4d8eea2b2 /src-interval/Hakyll/Web
parent3e03730666852be6f43508d4403cd4968067f793 (diff)
downloadhakyll-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.hs11
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