aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs')
-rw-r--r--MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs16
1 files changed, 14 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs
index d6a1be962..26ccdfc9a 100644
--- a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs
+++ b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.IO;
+using System.ComponentModel;
+using MediaBrowser.Common.IO;
using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
@@ -338,7 +339,7 @@ namespace MediaBrowser.Server.Implementations.IO
}
catch
{
-
+
}
finally
{
@@ -370,6 +371,17 @@ namespace MediaBrowser.Server.Implementations.IO
Logger.ErrorException("Error in Directory watcher for: " + dw.Path, ex);
DisposeWatcher(dw);
+
+ if (ex is Win32Exception)
+ {
+ Logger.Info("Disabling realtime monitor to prevent future instability");
+
+ if (ConfigurationManager.Configuration.EnableLibraryMonitor == AutoOnOff.Auto)
+ {
+ ConfigurationManager.Configuration.EnableLibraryMonitor = AutoOnOff.Disabled;
+ Stop();
+ }
+ }
}
/// <summary>