Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -122,40 +122,42 @@ public bool AddPartialResults(

lock (_lock)
{
if (rootErrors is not null)
try
{
_errors ??= [];
_errors.AddRange(rootErrors);
}
if (rootErrors is not null)
{
_errors ??= [];
_errors.AddRange(rootErrors);
}

var resultData = _result.Data;
var resultData = _result.Data;

for (var i = 0; i < results.Length; i++)
{
var result = results[i];

if (!SaveSafeResult(
resultData,
result.Path,
result.AdditionalPaths.AsSpan(),
dataElementsSpan[i],
errorTriesSpan[i],
resultSelectionSet))
for (var i = 0; i < results.Length; i++)
{
return false;
var result = results[i];

if (!SaveSafeResult(
resultData,
result.Path,
result.AdditionalPaths.AsSpan(),
dataElementsSpan[i],
errorTriesSpan[i],
resultSelectionSet))
{
return false;
}
}

return true;
}
finally
{
ReturnPathSegments(results);
}
}

return true;
}
finally
{
lock (_lock)
{
ReturnPathSegments(results);
}

dataElementsSpan.Clear();
errorTriesSpan.Clear();
ArrayPool<SourceResultElement>.Shared.Return(dataElements);
Expand All @@ -182,34 +184,36 @@ private bool AddPartialResultsNoErrors(

lock (_lock)
{
var resultData = _result.Data;

for (var i = 0; i < results.Length; i++)
try
{
var result = results[i];

if (!SaveSafeResult(
resultData,
result.Path,
result.AdditionalPaths.AsSpan(),
dataElementsSpan[i],
errorTrie: null,
resultSelectionSet))
var resultData = _result.Data;

for (var i = 0; i < results.Length; i++)
{
return false;
var result = results[i];

if (!SaveSafeResult(
resultData,
result.Path,
result.AdditionalPaths.AsSpan(),
dataElementsSpan[i],
errorTrie: null,
resultSelectionSet))
{
return false;
}
}

return true;
}
finally
{
ReturnPathSegments(results);
}
}

return true;
}
finally
{
lock (_lock)
{
ReturnPathSegments(results);
}

dataElementsSpan.Clear();
ArrayPool<SourceResultElement>.Shared.Return(dataElements);
}
Expand All @@ -226,9 +230,9 @@ private bool AddSinglePartialResult(
var dataElement = GetDataElement(sourcePath, result.Data);
var errorTrie = GetErrorTrie(sourcePath, errors?.Trie);

try
lock (_lock)
{
lock (_lock)
try
{
if (errors?.RootErrors is { Length: > 0 } rootErrors)
{
Expand All @@ -244,10 +248,7 @@ private bool AddSinglePartialResult(
errorTrie,
resultSelectionSet);
}
}
finally
{
lock (_lock)
finally
{
ReturnPathSegments(result);
}
Expand All @@ -262,9 +263,9 @@ private bool AddSinglePartialResultNoErrors(
_memory.Push(result);
var dataElement = GetDataElement(sourcePath, result.Data);

try
lock (_lock)
{
lock (_lock)
try
{
return SaveSafeResult(
_result.Data,
Expand All @@ -274,10 +275,7 @@ private bool AddSinglePartialResultNoErrors(
errorTrie: null,
resultSelectionSet);
}
}
finally
{
lock (_lock)
finally
{
ReturnPathSegments(result);
}
Expand Down
Loading