Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ProcessChildCompletion() [2/2]

void System.Threading.Tasks.Task< TResult >.ProcessChildCompletion ( Task< TResult > childTask)
inlinepackageinherited

Definition at line 1953 of file Task.cs.

1954 {
1955 ContingentProperties contingentProperties = Volatile.Read(ref m_contingentProperties);
1956 if (childTask.IsFaulted && !childTask.IsExceptionObservedByParent)
1957 {
1958 if (contingentProperties.m_exceptionalChildren == null)
1959 {
1960 Interlocked.CompareExchange(ref contingentProperties.m_exceptionalChildren, new List<Task>(), null);
1961 }
1962 List<Task> exceptionalChildren = contingentProperties.m_exceptionalChildren;
1963 if (exceptionalChildren != null)
1964 {
1966 {
1968 }
1969 }
1970 }
1971 if (Interlocked.Decrement(ref contingentProperties.m_completionCountdown) == 0)
1972 {
1974 }
1975 }
void Add(TKey key, TValue value)
ContingentProperties m_contingentProperties
Definition Task.cs:964

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Threading.Interlocked.CompareExchange(), System.Threading.Interlocked.Decrement(), System.Threading.Tasks.Task< TResult >.FinishStageTwo(), System.Threading.Tasks.Task< TResult >.m_contingentProperties, and System.Threading.Volatile.Read().

Referenced by System.Threading.Tasks.Task< TResult >.NotifyParentIfPotentiallyAttachedTask().