Explorar o código

handle library monitor error

Luke Pulverenti %!s(int64=9) %!d(string=hai) anos
pai
achega
612986e4ae
Modificáronse 1 ficheiros con 14 adicións e 1 borrados
  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();
             }