@@ -7,11 +7,11 @@ module Hakyll.Web.Preview.Poll
77
88import Control.Applicative ((<$>))
99import Control.Concurrent (threadDelay)
10−import Control.Monad (when)
10+import Control.Monad (when, filterM)
1111import System.Time (getClockTime)
1212import Data.Set (Set)
1313import qualified Data.Set as S
14−import System.Directory (getModificationTime)
14+import System.Directory (getModificationTime, doesFileExist)
1515
1616import Hakyll.Core.Configuration
1717import Hakyll.Core.Identifier
@@ -31,6 +31,7 @@ previewPoll _ resources callback = do
3131 delay = 1000000
3232 loop files time = do
3333 threadDelay delay
34− modified <- any (time <) <$> mapM getModificationTime files
35− when modified callback
36− loop files =<< getClockTime
34+ files' <- filterM doesFileExist files
35+ modified <- any (time <) <$> mapM getModificationTime files'
36+ when (modified || files' /= files) callback
37+ loop files' =<< getClockTime