Imported Upstream version 4.0.0~alpha1

Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
Jo Shields
2015-04-07 09:35:12 +01:00
parent 283343f570
commit 3c1f479b9d
22469 changed files with 2931443 additions and 869343 deletions

View File

@ -0,0 +1,56 @@
using System.Security;
namespace System.Threading
{
partial class ExecutionContext
{
internal static ExecutionContext Capture (ref StackCrawlMark stackMark, CaptureOptions options)
{
return Capture ((options & CaptureOptions.IgnoreSyncCtx) == 0, false);
}
internal static ExecutionContext FastCapture()
{
return Capture ();
}
[Flags]
internal enum CaptureOptions
{
None = 0x00,
IgnoreSyncCtx = 0x01, //Don't flow SynchronizationContext
OptimizeDefaultCase = 0x02, //Faster in the typical case, but can't show the result to users
// because they could modify the shared default EC.
// Use this only if you won't be exposing the captured EC to users.
}
private static readonly ExecutionContext s_dummyDefaultEC = new ExecutionContext();
static internal ExecutionContext PreAllocatedDefault
{
[SecuritySafeCritical]
get {
return s_dummyDefaultEC;
}
}
internal bool IsPreAllocatedDefault
{
get
{
return this == s_dummyDefaultEC;
}
}
}
[Serializable]
internal enum StackCrawlMark
{
LookForMe = 0,
LookForMyCaller = 1,
LookForMyCallersCaller = 2,
LookForThread = 3
}
}