Imported Upstream version 4.6.0.125

Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-03 10:59:49 +00:00
parent a569aebcfd
commit e79aa3c0ed
17047 changed files with 3137615 additions and 392334 deletions

View File

@ -33,6 +33,7 @@
using System;
using System.Runtime.CompilerServices;
using Microsoft.Win32.SafeHandles;
#if !MOBILE
using System.Security.AccessControl;
@ -46,11 +47,35 @@ namespace System.Threading
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public static extern IntPtr CreateEvent_internal(bool manual,bool initial,string name, out bool created);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public static extern bool SetEvent_internal(IntPtr handle);
public static bool SetEvent (SafeWaitHandle handle)
{
bool release = false;
try {
handle.DangerousAddRef (ref release);
return SetEvent_internal (handle.DangerousGetHandle ());
} finally {
if (release)
handle.DangerousRelease ();
}
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public static extern bool ResetEvent_internal(IntPtr handle);
static extern bool SetEvent_internal(IntPtr handle);
public static bool ResetEvent (SafeWaitHandle handle)
{
bool release = false;
try {
handle.DangerousAddRef (ref release);
return ResetEvent_internal (handle.DangerousGetHandle ());
} finally {
if (release)
handle.DangerousRelease ();
}
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
static extern bool ResetEvent_internal(IntPtr handle);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public static extern void CloseEvent_internal (IntPtr handle);