aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/IO
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/IO')
-rw-r--r--Emby.Server.Implementations/IO/FileRefresher.cs17
-rw-r--r--Emby.Server.Implementations/IO/ManagedFileSystem.cs21
2 files changed, 26 insertions, 12 deletions
diff --git a/Emby.Server.Implementations/IO/FileRefresher.cs b/Emby.Server.Implementations/IO/FileRefresher.cs
index 315bee103..85b8bddd2 100644
--- a/Emby.Server.Implementations/IO/FileRefresher.cs
+++ b/Emby.Server.Implementations/IO/FileRefresher.cs
@@ -154,20 +154,13 @@ namespace Emby.Server.Implementations.IO
.DistinctBy(i => i.Id)
.ToList();
- //foreach (var p in paths)
- //{
- // Logger.Info(p + " reports change.");
- //}
-
- // If the root folder changed, run the library task so the user can see it
- if (itemsToRefresh.Any(i => i is AggregateFolder))
- {
- LibraryManager.ValidateMediaLibrary(new SimpleProgress<double>(), CancellationToken.None);
- return;
- }
-
foreach (var item in itemsToRefresh)
{
+ if (item is AggregateFolder)
+ {
+ continue;
+ }
+
Logger.Info(item.Name + " (" + item.Path + ") will be refreshed.");
try
diff --git a/Emby.Server.Implementations/IO/ManagedFileSystem.cs b/Emby.Server.Implementations/IO/ManagedFileSystem.cs
index 0d85a977c..125d9e980 100644
--- a/Emby.Server.Implementations/IO/ManagedFileSystem.cs
+++ b/Emby.Server.Implementations/IO/ManagedFileSystem.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
@@ -24,12 +25,14 @@ namespace Emby.Server.Implementations.IO
private string _tempPath;
private SharpCifsFileSystem _sharpCifsFileSystem;
+ private IEnvironmentInfo _environmentInfo;
public ManagedFileSystem(ILogger logger, IEnvironmentInfo environmentInfo, string tempPath)
{
Logger = logger;
_supportsAsyncFileStreams = true;
_tempPath = tempPath;
+ _environmentInfo = environmentInfo;
// On Linux, this needs to be true or symbolic links are ignored
EnableFileSystemRequestConcat = environmentInfo.OperatingSystem != MediaBrowser.Model.System.OperatingSystem.Windows &&
@@ -1051,7 +1054,25 @@ namespace Emby.Server.Implementations.IO
public virtual void SetExecutable(string path)
{
+ if (_environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.OSX)
+ {
+ RunProcess("chmod", "+x \"" + path + "\"", GetDirectoryName(path));
+ }
+ }
+ private void RunProcess(string path, string args, string workingDirectory)
+ {
+ using (var process = Process.Start(new ProcessStartInfo
+ {
+ Arguments = args,
+ FileName = path,
+ CreateNoWindow = true,
+ WorkingDirectory = workingDirectory,
+ WindowStyle = ProcessWindowStyle.Normal
+ }))
+ {
+ process.WaitForExit();
+ }
}
}
}