MonoFileSystem.cs 913 B

12345678910111213141516171819202122
  1. using Emby.Common.Implementations.IO;
  2. using MediaBrowser.Model.Logging;
  3. using Mono.Unix.Native;
  4. namespace MediaBrowser.Server.Mono.Native
  5. {
  6. public class MonoFileSystem : ManagedFileSystem
  7. {
  8. public MonoFileSystem(ILogger logger, bool supportsAsyncFileStreams, bool enableManagedInvalidFileNameChars, string tempPath)
  9. : base(logger, supportsAsyncFileStreams, enableManagedInvalidFileNameChars, true, tempPath)
  10. {
  11. }
  12. public override void SetExecutable(string path)
  13. {
  14. // Linux: File permission to 666, and user's execute bit
  15. Logger.Info("Syscall.chmod {0} FilePermissions.DEFFILEMODE | FilePermissions.S_IRWXU | FilePermissions.S_IXGRP | FilePermissions.S_IXOTH", path);
  16. Syscall.chmod(path, FilePermissions.DEFFILEMODE | FilePermissions.S_IRWXU | FilePermissions.S_IXGRP | FilePermissions.S_IXOTH);
  17. }
  18. }
  19. }