瀏覽代碼

handle library monitor error

Luke Pulverenti 9 年之前
父節點
當前提交
612986e4ae
共有 1 個文件被更改,包括 14 次插入1 次删除
  1. 14 1
      MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs

+ 14 - 1
MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs

@@ -696,8 +696,21 @@ namespace MediaBrowser.Server.Implementations.IO
 
             foreach (var watcher in _fileSystemWatchers.Values.ToList())
             {
+                watcher.Created -= watcher_Changed;
+                watcher.Deleted -= watcher_Changed;
+                watcher.Renamed -= watcher_Changed;
                 watcher.Changed -= watcher_Changed;
-                watcher.EnableRaisingEvents = false;
+
+                try
+                {
+                    watcher.EnableRaisingEvents = false;
+                }
+                catch (InvalidOperationException)
+                {
+                    // Seeing this under mono on linux sometimes
+                    // Collection was modified; enumeration operation may not execute.
+                }
+
                 watcher.Dispose();
             }