Skip to content

Commit f6d2220

Browse files
authored
Fix TimeProvider Test (#90448)
1 parent af651f4 commit f6d2220

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

src/libraries/Common/tests/System/TimeProviderTests.cs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -118,24 +118,27 @@ public void TestProviderTimer(TimeProvider provider, int MaxMilliseconds)
118118
stat =>
119119
{
120120
TimerState s = (TimerState)stat;
121-
s.Counter++;
121+
lock (s)
122+
{
123+
s.Counter++;
122124

123-
s.TotalTicks += DateTimeOffset.UtcNow.Ticks - s.UtcNow.Ticks;
125+
s.TotalTicks += DateTimeOffset.UtcNow.Ticks - s.UtcNow.Ticks;
124126

125-
switch (s.Counter)
126-
{
127-
case 2:
128-
s.Period = 400;
129-
s.Timer.Change(TimeSpan.FromMilliseconds(s.Period), TimeSpan.FromMilliseconds(s.Period));
130-
break;
131-
132-
case 4:
133-
s.TokenSource.Cancel();
134-
s.Timer.Dispose();
135-
break;
136-
}
127+
switch (s.Counter)
128+
{
129+
case 2:
130+
s.Period = 400;
131+
s.Timer.Change(TimeSpan.FromMilliseconds(s.Period), TimeSpan.FromMilliseconds(s.Period));
132+
break;
137133

138-
s.UtcNow = DateTimeOffset.UtcNow;
134+
case 4:
135+
s.TokenSource.Cancel();
136+
s.Timer.Dispose();
137+
break;
138+
}
139+
140+
s.UtcNow = DateTimeOffset.UtcNow;
141+
}
139142
},
140143
state,
141144
TimeSpan.FromMilliseconds(state.Period), TimeSpan.FromMilliseconds(state.Period));

0 commit comments

Comments
 (0)