aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-02 13:48:21 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-02 13:48:21 -0500
commitf3159f3feff6a0ef11edb50cfc456f8c43d26d79 (patch)
tree95811078e4cfc923be336e15ca1fa9afe9352449 /MediaBrowser.ServerApplication
parent0d8636d859cef5d0be4a723402926f05499210d7 (diff)
update ProcessManager
Diffstat (limited to 'MediaBrowser.ServerApplication')
-rw-r--r--MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj3
-rw-r--r--MediaBrowser.ServerApplication/Native/WindowsApp.cs3
-rw-r--r--MediaBrowser.ServerApplication/Native/WindowsProcessManager.cs78
-rw-r--r--MediaBrowser.ServerApplication/packages.config2
4 files changed, 4 insertions, 82 deletions
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index 019f1e977..58830360e 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -62,7 +62,7 @@
<ItemGroup>
<Reference Include="ImageMagickSharp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\packages\ImageMagickSharp.1.0.0.5\lib\net45\ImageMagickSharp.dll</HintPath>
+ <HintPath>..\packages\ImageMagickSharp.1.0.0.6\lib\net45\ImageMagickSharp.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.IsoMounter">
<HintPath>..\packages\MediaBrowser.IsoMounting.3.0.69\lib\net45\MediaBrowser.IsoMounter.dll</HintPath>
@@ -113,7 +113,6 @@
<Compile Include="Native\Standby.cs" />
<Compile Include="Native\ServerAuthorization.cs" />
<Compile Include="Native\WindowsApp.cs" />
- <Compile Include="Native\WindowsProcessManager.cs" />
<Compile Include="Networking\CertificateGenerator.cs" />
<Compile Include="Networking\NativeMethods.cs" />
<Compile Include="Networking\NetworkManager.cs" />
diff --git a/MediaBrowser.ServerApplication/Native/WindowsApp.cs b/MediaBrowser.ServerApplication/Native/WindowsApp.cs
index 8d25b4f72..d518a82d4 100644
--- a/MediaBrowser.ServerApplication/Native/WindowsApp.cs
+++ b/MediaBrowser.ServerApplication/Native/WindowsApp.cs
@@ -3,6 +3,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Diagnostics;
using MediaBrowser.IsoMounter;
using MediaBrowser.Model.Logging;
+using MediaBrowser.Server.Mono.Diagnostics;
using MediaBrowser.Server.Startup.Common;
using MediaBrowser.ServerApplication.Networking;
using System.Collections.Generic;
@@ -113,7 +114,7 @@ namespace MediaBrowser.ServerApplication.Native
public IProcessManager GetProcessManager()
{
- return new WindowsProcessManager();
+ return new ProcessManager();
}
}
}
diff --git a/MediaBrowser.ServerApplication/Native/WindowsProcessManager.cs b/MediaBrowser.ServerApplication/Native/WindowsProcessManager.cs
deleted file mode 100644
index f3497aef5..000000000
--- a/MediaBrowser.ServerApplication/Native/WindowsProcessManager.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using MediaBrowser.Controller.Diagnostics;
-using System;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-
-namespace MediaBrowser.ServerApplication.Native
-{
- public class WindowsProcessManager : IProcessManager
- {
- public void SuspendProcess(Process process)
- {
- process.Suspend();
- }
-
- public void ResumeProcess(Process process)
- {
- process.Resume();
- }
-
- public bool SupportsSuspension
- {
- get { return true; }
- }
- }
-
- public static class ProcessExtension
- {
- [DllImport("kernel32.dll")]
- static extern IntPtr OpenThread(ThreadAccess dwDesiredAccess, bool bInheritHandle, uint dwThreadId);
- [DllImport("kernel32.dll")]
- static extern uint SuspendThread(IntPtr hThread);
- [DllImport("kernel32.dll")]
- static extern int ResumeThread(IntPtr hThread);
-
- public static void Suspend(this Process process)
- {
- foreach (ProcessThread thread in process.Threads)
- {
- var pOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)thread.Id);
- if (pOpenThread == IntPtr.Zero)
- {
- break;
- }
- SuspendThread(pOpenThread);
- }
- }
- public static void Resume(this Process process)
- {
- foreach (ProcessThread thread in process.Threads)
- {
- var pOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)thread.Id);
- if (pOpenThread == IntPtr.Zero)
- {
- break;
- }
- ResumeThread(pOpenThread);
- }
- }
- public static void Print(this Process process)
- {
- Console.WriteLine("{0,8} {1}", process.Id, process.ProcessName);
- }
- }
-
- [Flags]
- public enum ThreadAccess : int
- {
- TERMINATE = (0x0001),
- SUSPEND_RESUME = (0x0002),
- GET_CONTEXT = (0x0008),
- SET_CONTEXT = (0x0010),
- SET_INFORMATION = (0x0020),
- QUERY_INFORMATION = (0x0040),
- SET_THREAD_TOKEN = (0x0080),
- IMPERSONATE = (0x0100),
- DIRECT_IMPERSONATION = (0x0200)
- }
-}
diff --git a/MediaBrowser.ServerApplication/packages.config b/MediaBrowser.ServerApplication/packages.config
index cf01ed666..3dd0c908d 100644
--- a/MediaBrowser.ServerApplication/packages.config
+++ b/MediaBrowser.ServerApplication/packages.config
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="ImageMagickSharp" version="1.0.0.5" targetFramework="net45" />
+ <package id="ImageMagickSharp" version="1.0.0.6" targetFramework="net45" />
<package id="MediaBrowser.IsoMounting" version="3.0.69" targetFramework="net45" />
<package id="System.Data.SQLite.Core" version="1.0.94.0" targetFramework="net45" />
</packages> \ No newline at end of file