diff options
Diffstat (limited to 'MediaBrowser.Server.Mono')
5 files changed, 44 insertions, 9 deletions
diff --git a/MediaBrowser.Server.Mono/Diagnostics/LinuxProcessManager.cs b/MediaBrowser.Server.Mono/Diagnostics/LinuxProcessManager.cs new file mode 100644 index 000000000..a66365212 --- /dev/null +++ b/MediaBrowser.Server.Mono/Diagnostics/LinuxProcessManager.cs @@ -0,0 +1,25 @@ +using MediaBrowser.Controller.Diagnostics; +using System.Diagnostics; + +namespace MediaBrowser.Server.Mono.Diagnostics +{ + public class LinuxProcessManager : IProcessManager + { + public bool SupportsSuspension + { + get { return true; } + } + + public void SuspendProcess(Process process) + { + // http://jumptuck.com/2011/11/23/quick-tip-pause-process-linux/ + process.StandardInput.WriteLine("^Z"); + } + + public void ResumeProcess(Process process) + { + // http://jumptuck.com/2011/11/23/quick-tip-pause-process-linux/ + process.StandardInput.WriteLine("fg"); + } + } +} diff --git a/MediaBrowser.Server.Mono/ImageMagickSharp.dll.config b/MediaBrowser.Server.Mono/ImageMagickSharp.dll.config new file mode 100644 index 000000000..ac4918ef2 --- /dev/null +++ b/MediaBrowser.Server.Mono/ImageMagickSharp.dll.config @@ -0,0 +1,4 @@ +<configuration> + <dllmap dll="CORE_RL_Wand_.dll" target="libMagickWand-6.Q8.so" os="linux"/> + <dllmap dll="CORE_RL_Wand_.dll" target="./MediaInfo/osx/libmediainfo.dylib" os="osx"/> +</configuration>
\ No newline at end of file diff --git a/MediaBrowser.Server.Mono/Imazen.WebP.dll.config b/MediaBrowser.Server.Mono/Imazen.WebP.dll.config deleted file mode 100644 index a7a2c1397..000000000 --- a/MediaBrowser.Server.Mono/Imazen.WebP.dll.config +++ /dev/null @@ -1,4 +0,0 @@ -<configuration> - <dllmap dll="libwebp" target="./libwebp/osx/libwebp.5.dylib" os="osx"/> - <dllmap dll="libwebp" target="libwebp.so.5" os="linux"/> -</configuration> diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index 232caba4f..8f552ee36 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -74,6 +74,7 @@ <Compile Include="..\SharedVersion.cs"> <Link>Properties\SharedVersion.cs</Link> </Compile> + <Compile Include="Diagnostics\LinuxProcessManager.cs" /> <Compile Include="Native\BaseMonoApp.cs" /> <Compile Include="Networking\CertificateGenerator.cs" /> <Compile Include="Program.cs" /> @@ -137,10 +138,6 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <None Include="..\ThirdParty\libwebp\osx\libwebp.5.dylib"> - <Link>libwebp\osx\libwebp.5.dylib</Link> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> <None Include="..\ThirdParty\MediaInfo\osx\libmediainfo.dylib"> <Link>MediaInfo\osx\libmediainfo.dylib</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> @@ -154,7 +151,7 @@ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Include="app.config" /> - <None Include="Imazen.WebP.dll.config"> + <None Include="ImageMagickSharp.dll.config"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Include="MediaBrowser.MediaInfo.dll.config"> diff --git a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs index 1ec0109ad..139661aa2 100644 --- a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs @@ -1,6 +1,8 @@ using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Diagnostics; using MediaBrowser.IsoMounter; using MediaBrowser.Model.Logging; +using MediaBrowser.Server.Mono.Diagnostics; using MediaBrowser.Server.Mono.Networking; using MediaBrowser.Server.Startup.Common; using Mono.Unix.Native; @@ -189,5 +191,16 @@ namespace MediaBrowser.Server.Mono.Native public string sysname = string.Empty; public string machine = string.Empty; } + + + public IProcessManager GetProcessManager() + { + if (Environment.OperatingSystem == Startup.Common.OperatingSystem.Linux) + { + return new LinuxProcessManager(); + } + + return new ProcessManager(); + } } } |
