From c6d6479817cc75d30ac9b581844914a9a077371d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 19 May 2013 19:44:05 -0400 Subject: [PATCH] #284 - Library Scanning Halts --- .../IO/DirectoryWatchers.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs index 441e46f41c..855397a17c 100644 --- a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs +++ b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs @@ -328,15 +328,26 @@ namespace MediaBrowser.Server.Implementations.IO return; } + var tempIgnorePaths = _tempIgnoredPaths.Keys.ToList(); + + if (e.ChangeType == WatcherChangeTypes.Changed) + { + // If the parent of an ignored path has a change event, ignore that too + if (tempIgnorePaths.Any(i => string.Equals(Path.GetDirectoryName(i), e.FullPath, StringComparison.OrdinalIgnoreCase))) + { + return; + } + } + // Ignore certain files if (_alwaysIgnoreFiles.Any(f => e.Name.EndsWith(f, StringComparison.OrdinalIgnoreCase))) { return; } - if (_tempIgnoredPaths.ContainsKey(e.FullPath)) + if (tempIgnorePaths.Contains(e.FullPath, StringComparer.OrdinalIgnoreCase)) { - Logger.Info("Watcher requested to ignore change to " + e.FullPath); + Logger.Debug("Watcher requested to ignore change to " + e.FullPath); return; }