Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@@ -1,4 +1,4 @@
#if MOBILE_LEGACY
#if MOBILE_LEGACY && !DISABLE_REMOTING
#define FEATURE_REMOTING
#endif
// ==++==

View File

@@ -1932,8 +1932,7 @@ namespace System.Threading
throw new NotSupportedException(Environment.GetResourceString("Arg_NotSupportedException"));
Contract.EndContractBlock();
#endif
return PostQueuedCompletionStatus(overlapped);
throw new NotImplementedException("");
}
[SecurityCritical]
@@ -1986,8 +1985,7 @@ namespace System.Threading
[System.Security.SecuritySafeCritical]
internal static void NotifyWorkItemProgress()
{
if (!ThreadPoolGlobals.vmTpInitialized)
ThreadPool.InitializeVMTp(ref ThreadPoolGlobals.enableWorkerTracking);
EnsureVMInitialized();
NotifyWorkItemProgressNative();
}
@@ -2005,8 +2003,10 @@ namespace System.Threading
[System.Security.SecurityCritical] // auto-generated
// [ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern bool IsThreadPoolHosted();
internal static bool IsThreadPoolHosted()
{
return false;
}
[System.Security.SecurityCritical] // auto-generated
// [ResourceExposure(ResourceScope.None)]
@@ -2075,8 +2075,10 @@ namespace System.Threading
[System.Security.SecurityCritical] // auto-generated
// [ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
private static extern bool BindIOCompletionCallbackNative(IntPtr fileHandle);
private static bool BindIOCompletionCallbackNative(IntPtr fileHandle)
{
return true;
}
}
}

View File

@@ -38,11 +38,7 @@ namespace System.Threading
using System.Diagnostics.CodeAnalysis;
[System.Runtime.InteropServices.ComVisible(true)]
#if FEATURE_REMOTING || NETCORE
public abstract partial class WaitHandle : MarshalByRefObject, IDisposable {
#else // FEATURE_REMOTING
public abstract partial class WaitHandle : IDisposable {
#endif // FEATURE_REMOTING
public const int WaitTimeout = 0x102;
private const int MAX_WAITHANDLES = 64;
@@ -68,6 +64,7 @@ namespace System.Threading
private const int WAIT_ABANDONED = 0x80;
private const int WAIT_FAILED = 0x7FFFFFFF;
private const int ERROR_TOO_MANY_POSTS = 0x12A;
private const int ERROR_NOT_OWNED_BY_CALLER = 0x12B;
internal enum OpenExistingResult
{
@@ -626,6 +623,11 @@ namespace System.Threading
throw new InvalidOperationException(Environment.GetResourceString("Threading.WaitHandleTooManyPosts"));
}
if(ERROR_NOT_OWNED_BY_CALLER == ret)
{
throw new ApplicationException("Attempt to release mutex not owned by caller");
}
//Object was signaled
if(WAIT_OBJECT_0 == ret)
{