Skip to content

Commit 16a125d

Browse files
committed
Remove volatile read/write as lock has the same effect
1 parent 76f886f commit 16a125d

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

src/bunit.web/Rendering/RenderedFragment.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,9 @@ public INodeList Nodes
6767
// The lock ensures that latest nodes is always based on the latest rendered markup.
6868
lock (_lock)
6969
{
70-
var result = Volatile.Read(ref _latestRenderNodes);
71-
if (result is null)
72-
{
73-
result = HtmlParser.Parse(Markup);
74-
Volatile.Write(ref _latestRenderNodes, result);
75-
}
76-
return result;
70+
if (_latestRenderNodes is null)
71+
_latestRenderNodes = HtmlParser.Parse(Markup);
72+
return _latestRenderNodes;
7773
}
7874
}
7975
}
@@ -168,8 +164,8 @@ private void HandleChangesToMarkup(RenderEvent renderEvent)
168164
// The lock ensures that latest nodes is always based on the latest rendered markup.
169165
lock (_lock)
170166
{
171-
Volatile.Write(ref _latestRenderNodes, null);
172-
Volatile.Write(ref _markup, RetrieveLatestMarkupFromRenderer());
167+
_latestRenderNodes = null;
168+
_markup = RetrieveLatestMarkupFromRenderer();
173169
}
174170

175171
OnMarkupUpdated?.Invoke();

0 commit comments

Comments
 (0)