diff options
author | Eirik Tsarpalis <eirik.tsarpalis@gmail.com> | 2020-02-18 21:31:53 +0000 |
---|---|---|
committer | Hyungju Lee <leee.lee@samsung.com> | 2020-10-30 18:20:26 +0900 |
commit | 8116c792e3450de38341069bd18948498447064a (patch) | |
tree | 4c0c22dc1750c85fce2a96ac6dc26149dbcec3a5 /src | |
parent | 5731dae07d086f8ed4408fb95de764cbc659d4ac (diff) | |
download | coreclr-8116c792e3450de38341069bd18948498447064a.tar.gz coreclr-8116c792e3450de38341069bd18948498447064a.tar.bz2 coreclr-8116c792e3450de38341069bd18948498447064a.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>
Diffstat (limited to 'src')
-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 { |