aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-27 13:42:19 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-27 13:42:19 -0500
commitbd082e915733d72221ae5960d6dfde4ac784757d (patch)
treeea68ccf6768b33264da9d9c1ca99f2f723711273
parent0474a225c4347e2eee86b66b123f44f63b3667d7 (diff)
fixes #1410 - Entire server locks up, when files are locked during.. things..
-rw-r--r--MediaBrowser.Model/Configuration/ServerConfiguration.cs4
-rw-r--r--MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs12
2 files changed, 11 insertions, 5 deletions
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index ced5210c5..c5281ec5a 100644
--- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -146,7 +146,7 @@ namespace MediaBrowser.Model.Configuration
/// different directories and files.
/// </summary>
/// <value>The file watcher delay.</value>
- public int RealtimeLibraryMonitorDelay { get; set; }
+ public int LibraryMonitorDelay { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [enable dashboard response caching].
@@ -238,7 +238,7 @@ namespace MediaBrowser.Model.Configuration
MinResumeDurationSeconds = 300;
EnableLibraryMonitor = AutoOnOff.Auto;
- RealtimeLibraryMonitorDelay = 40;
+ LibraryMonitorDelay = 60;
EnableInternetProviders = true;
FindInternetTrailers = true;
diff --git a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs
index 2c082ac36..764eb7c68 100644
--- a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs
+++ b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs
@@ -471,11 +471,11 @@ namespace MediaBrowser.Server.Implementations.IO
{
if (_updateTimer == null)
{
- _updateTimer = new Timer(TimerStopped, null, TimeSpan.FromSeconds(ConfigurationManager.Configuration.RealtimeLibraryMonitorDelay), TimeSpan.FromMilliseconds(-1));
+ _updateTimer = new Timer(TimerStopped, null, TimeSpan.FromSeconds(ConfigurationManager.Configuration.LibraryMonitorDelay), TimeSpan.FromMilliseconds(-1));
}
else
{
- _updateTimer.Change(TimeSpan.FromSeconds(ConfigurationManager.Configuration.RealtimeLibraryMonitorDelay), TimeSpan.FromMilliseconds(-1));
+ _updateTimer.Change(TimeSpan.FromSeconds(ConfigurationManager.Configuration.LibraryMonitorDelay), TimeSpan.FromMilliseconds(-1));
}
}
}
@@ -513,12 +513,18 @@ namespace MediaBrowser.Server.Implementations.IO
private bool IsFileLocked(string path)
{
+ if (Environment.OSVersion.Platform != PlatformID.Win32NT)
+ {
+ // Causing lockups on linux
+ return false;
+ }
+
try
{
var data = _fileSystem.GetFileSystemInfo(path);
if (!data.Exists
- || data.Attributes.HasFlag(FileAttributes.Directory)
+ || data.IsDirectory
// Opening a writable stream will fail with readonly files
|| data.Attributes.HasFlag(FileAttributes.ReadOnly))