diff --git a/build/dependencies.props b/build/dependencies.props
index db44bbd005..bcef3e3761 100644
--- a/build/dependencies.props
+++ b/build/dependencies.props
@@ -7,8 +7,8 @@
0.10.13
2.1.0-preview2-15749
1.10.0
- 2.1.0-preview2-30478
- 2.1.0-preview2-30478
+ 2.1.0-a-preview2-mpr-16443
+ 2.1.0-a-preview2-mpr-16443
2.1.0-preview2-30478
2.1.0-preview2-30478
2.1.0-preview2-30478
@@ -17,8 +17,8 @@
2.1.0-preview2-30478
2.1.0-preview2-30478
2.1.0-preview2-30478
- 2.1.0-preview2-30478
- 2.1.0-preview2-30478
+ 2.1.0-a-preview2-mpr-16443
+ 2.1.0-a-preview2-mpr-16443
2.1.0-preview2-30478
2.1.0-preview2-30478
2.1.0-preview2-30478
@@ -28,18 +28,18 @@
2.1.0-preview2-30478
2.1.0-preview2-30478
2.0.0
- 2.1.0-preview2-26326-03
+ 2.1.0-preview3-26331-01
2.1.0-preview2-30478
15.6.1
4.7.49
11.0.2
- 4.5.0-preview2-26326-04
- 4.5.0-preview2-26326-04
- 4.5.0-preview2-26326-04
- 4.5.0-preview2-26326-04
- 4.5.0-preview2-26326-04
- 4.5.0-preview2-26326-04
- 4.5.0-preview2-26326-04
+ 4.5.0-preview3-26331-02
+ 4.5.0-preview3-26331-02
+ 4.5.0-preview3-26331-02
+ 4.5.0-preview3-26331-02
+ 4.5.0-preview3-26331-02
+ 4.5.0-preview3-26331-02
+ 4.5.0-preview3-26331-02
0.8.0
2.3.1
2.4.0-beta.1.build3945
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index a1676ede80..6b85b2cf04 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -6,4 +6,8 @@
+
+
+ false
+
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvConnection.cs b/src/Kestrel.Transport.Libuv/Internal/LibuvConnection.cs
index b6295aa568..116b67e39c 100644
--- a/src/Kestrel.Transport.Libuv/Internal/LibuvConnection.cs
+++ b/src/Kestrel.Transport.Libuv/Internal/LibuvConnection.cs
@@ -106,7 +106,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
private unsafe LibuvFunctions.uv_buf_t OnAlloc(UvStreamHandle handle, int suggestedSize)
{
var currentWritableBuffer = Input.GetMemory(MinAllocBufferSize);
- _bufferHandle = currentWritableBuffer.Retain(true);
+ _bufferHandle = currentWritableBuffer.Pin();
return handle.Libuv.buf_init((IntPtr)_bufferHandle.Pointer, currentWritableBuffer.Length);
}
@@ -118,6 +118,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
private void OnRead(UvStreamHandle handle, int status)
{
+ // Cleanup state from last OnAlloc. This is safe even if OnAlloc wasn't called.
+ _bufferHandle.Dispose();
if (status == 0)
{
// EAGAIN/EWOULDBLOCK so just return the buffer.
@@ -168,9 +170,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
// Complete after aborting the connection
Input.Complete(error);
}
-
- // Cleanup state from last OnAlloc. This is safe even if OnAlloc wasn't called.
- _bufferHandle.Dispose();
}
private async Task ApplyBackpressureAsync(ValueTask flushTask)
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvWriteReq.cs b/src/Kestrel.Transport.Libuv/Internal/Networking/UvWriteReq.cs
index 9a635ba5cc..e28c318616 100644
--- a/src/Kestrel.Transport.Libuv/Internal/Networking/UvWriteReq.cs
+++ b/src/Kestrel.Transport.Libuv/Internal/Networking/UvWriteReq.cs
@@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networkin
if (nBuffers == 1)
{
var memory = buffer.First;
- var memoryHandle = memory.Retain(true);
+ var memoryHandle = memory.Pin();
_handles.Add(memoryHandle);
// Fast path for single buffer
@@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networkin
foreach (var memory in buffer)
{
// This won't actually pin the buffer since we're already using pinned memory
- var memoryHandle = memory.Retain(true);
+ var memoryHandle = memory.Pin();
_handles.Add(memoryHandle);
// create and pin each segment being written