diff options
author | Eirik Tsarpalis <eirik.tsarpalis@gmail.com> | 2020-02-18 21:31:53 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-18 13:31:53 -0800 |
commit | a95569a88d35ea4d3ec9e0ecbe6f1acb5e72a063 (patch) | |
tree | 45305af87d27b64ff967e256f507f2536642f786 | |
parent | 25bb13bc33c5911c6319722203dbb83eaebe7b08 (diff) | |
download | coreclr-a95569a88d35ea4d3ec9e0ecbe6f1acb5e72a063.tar.gz coreclr-a95569a88d35ea4d3ec9e0ecbe6f1acb5e72a063.tar.bz2 coreclr-a95569a88d35ea4d3ec9e0ecbe6f1acb5e72a063.zip |
Fix AppDomain.SetPrincipalPolicy bug for new threads (#32104) (#28019)
* fix principal policy for new threads
Fixes #31717
Co-authored-by: Marco Rossignoli <marco.rossignoli@gmail.com>
-rw-r--r-- | src/System.Private.CoreLib/shared/System/Threading/Thread.cs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/System.Private.CoreLib/shared/System/Threading/Thread.cs b/src/System.Private.CoreLib/shared/System/Threading/Thread.cs index 28b2e6eb8f..a2be70c847 100644 --- a/src/System.Private.CoreLib/shared/System/Threading/Thread.cs +++ b/src/System.Private.CoreLib/shared/System/Threading/Thread.cs @@ -136,11 +136,12 @@ namespace System.Threading { get { - if (s_asyncLocalPrincipal is null) + IPrincipal? principal = s_asyncLocalPrincipal?.Value; + if (principal is null) { - CurrentPrincipal = AppDomain.CurrentDomain.GetThreadPrincipal(); + CurrentPrincipal = (principal = AppDomain.CurrentDomain.GetThreadPrincipal()); } - return s_asyncLocalPrincipal?.Value; + return principal; } set { |