Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@@ -9,8 +9,15 @@
<ProjectReference Include="..\src\System.Threading.Tasks.Dataflow.csproj">
<SupportedFramework>net45;netcore45;wp8;wpa81;netcoreapp1.0;$(AllXamarinFrameworks)</SupportedFramework>
</ProjectReference>
<InboxOnTargetFramework Include="netcoreapp2.0" />
<InboxOnTargetFramework Include="$(UAPvNextTFM)" />
<!-- Since UAP and .NETCoreApp are package based we still want to enable
OOBing libraries that happen to overlap with their framework package.
This avoids us having to lock the API in our NuGet packages just
to match what shipped inbox: since we can provide a new library
we can update it to add API without raising the netstandard version. -->
<ValidatePackageSuppression Include="TreatAsOutOfBox">
<Value>.NETCoreApp;UAP</Value>
</ValidatePackageSuppression>
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>

View File

@@ -18,7 +18,6 @@ using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Security;
using System.Threading;
@@ -36,15 +35,9 @@ namespace System.Threading.Tasks.Dataflow.Internal.Collections
[DebuggerTypeProxy(typeof(SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView<>))]
internal class ConcurrentQueue<T> : IProducerConsumerCollection<T>
{
//fields of ConcurrentQueue
private volatile Segment _head;
private volatile Segment _tail;
private T[] _serializationArray; // Used for custom serialization.
private const int SEGMENT_SIZE = 32;
//number of snapshot takers, GetEnumerator(), ToList() and ToArray() operations take snapshot.
internal volatile int _numSnapshotTakers = 0;
@@ -100,27 +93,6 @@ namespace System.Threading.Tasks.Dataflow.Internal.Collections
InitializeFromCollection(collection);
}
/// <summary>
/// Get the data array to be serialized
/// </summary>
[OnSerializing]
private void OnSerializing(StreamingContext context)
{
// save the data into the serialization array to be saved
_serializationArray = ToArray();
}
/// <summary>
/// Construct the queue from a previously serialized one
/// </summary>
[OnDeserialized]
private void OnDeserialized(StreamingContext context)
{
Debug.Assert(_serializationArray != null);
InitializeFromCollection(_serializationArray);
_serializationArray = null;
}
/// <summary>
/// Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see
/// cref="T:System.Array"/>, starting at a particular

View File

@@ -551,7 +551,7 @@ namespace System.Threading.Tasks
}
/// <summary>Padding structure used to minimize false sharing in SingleProducerSingleConsumerQueue{T}.</summary>
[StructLayout(LayoutKind.Explicit, Size = PaddingHelpers.CACHE_LINE_SIZE - sizeof(Int32))] // Based on common case of 64-byte cache lines
[StructLayout(LayoutKind.Explicit, Size = PaddingHelpers.CACHE_LINE_SIZE - sizeof(Int32))]
struct PaddingFor32
{
}

View File

@@ -1 +1 @@
9cafa9e8d6e3299259a358dba800348c9b4a2161
04d59b871d9d7b349e5a4a32aaf4e138a127087d