Merge pull request #1033 from jluce50/dev

Close thread handle after suspend/resume
This commit is contained in:
Luke 2015-03-03 21:13:59 -05:00
commit 7958d8b380

View file

@ -29,8 +29,11 @@ namespace MediaBrowser.ServerApplication.Native
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);
[DllImport("kernel32.dll")]
static extern int ResumeThread(IntPtr hThread);
[DllImport("kernel32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool CloseHandle(IntPtr hThread);
public static void Suspend(this Process process)
{
@ -41,7 +44,8 @@ namespace MediaBrowser.ServerApplication.Native
{
break;
}
SuspendThread(pOpenThread);
SuspendThread(pOpenThread);
CloseHandle(pOpenThread);
}
}
public static void Resume(this Process process)
@ -52,8 +56,9 @@ namespace MediaBrowser.ServerApplication.Native
if (pOpenThread == IntPtr.Zero)
{
break;
}
ResumeThread(pOpenThread);
}
ResumeThread(pOpenThread);
CloseHandle(pOpenThread);
}
}
public static void Print(this Process process)