Fixed possible race condition.

This commit is contained in:
Michael Bucari-Tovo 2021-07-27 10:26:15 -06:00
parent 406aea6ead
commit f06b04ede4

View File

@ -75,6 +75,8 @@ namespace FileManager
}
private void UpdateLocalCache(FileSystemEventArgs change)
{
lock (fsCache)
{
if (change.ChangeType == WatcherChangeTypes.Deleted)
{
@ -92,28 +94,23 @@ namespace FileManager
AddPath(renameChange.FullPath);
}
}
}
private void RemovePath(string path)
{
lock (fsCache)
{
var pathsToRemove = fsCache.Where(p => p.StartsWith(path)).ToArray();
foreach (var p in pathsToRemove)
fsCache.Remove(p);
}
}
private void AddPath(string path)
{
lock (fsCache)
{
if (File.GetAttributes(path).HasFlag(FileAttributes.Directory))
fsCache.AddRange(Directory.EnumerateFiles(path, SearchPattern, SearchOption));
else
fsCache.Add(path);
}
}
#endregion
}