File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -4836,8 +4836,9 @@ MonoException*
4836
4836
mono_thread_get_undeniable_exception (void )
4837
4837
{
4838
4838
MonoInternalThread * thread = mono_thread_internal_current ();
4839
+ MonoException * exc = (MonoException * )mono_atomic_cas_ptr ((volatile gpointer * )& thread -> abort_exc , NULL , NULL );
4839
4840
4840
- if (!(thread && thread -> abort_exc && !is_running_protected_wrapper ()))
4841
+ if (!(thread && exc && !is_running_protected_wrapper ()))
4841
4842
return NULL ;
4842
4843
4843
4844
// We don't want to have our exception effect calls made by
@@ -4850,9 +4851,9 @@ mono_thread_get_undeniable_exception (void)
4850
4851
* FIXME: Clear the abort exception and return an AppDomainUnloaded
4851
4852
* exception if the thread no longer references a dying appdomain.
4852
4853
*/
4853
- thread -> abort_exc -> trace_ips = NULL ;
4854
- thread -> abort_exc -> stack_trace = NULL ;
4855
- return thread -> abort_exc ;
4854
+ exc -> trace_ips = NULL ;
4855
+ exc -> stack_trace = NULL ;
4856
+ return exc ;
4856
4857
}
4857
4858
4858
4859
#if MONO_SMALL_CONFIG
You can’t perform that action at this time.
0 commit comments