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

◆ _pruneCachedTraceSources()

static void System.Diagnostics.TraceSource._pruneCachedTraceSources ( )
inlinestaticprivate

Definition at line 91 of file TraceSource.cs.

92 {
94 {
95 if (s_LastCollectionCount == GC.CollectionCount(2))
96 {
97 return;
98 }
100 for (int i = 0; i < s_tracesources.Count; i++)
101 {
102 if (s_tracesources[i].TryGetTarget(out var _))
103 {
105 }
106 }
107 if (list.Count < s_tracesources.Count)
108 {
109 s_tracesources.Clear();
110 s_tracesources.AddRange(list);
111 s_tracesources.TrimExcess();
112 }
113 s_LastCollectionCount = GC.CollectionCount(2);
114 }
115 }
void Add(TKey key, TValue value)
static readonly List< WeakReference< TraceSource > > s_tracesources
Definition TraceSource.cs:9

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.GC.CollectionCount(), System.list, System.Diagnostics.TraceSource.s_LastCollectionCount, and System.Diagnostics.TraceSource.s_tracesources.

Referenced by System.Diagnostics.TraceSource.TraceSource(), and System.Diagnostics.TraceSource.RefreshAll().