diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index b80e51cdc8..c4f0bf31d3 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -2,7 +2,7 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- 3.1.6
+ 3.1.7
@@ -16,7 +16,7 @@
- 3.1.6
+ 3.1.7
@@ -27,88 +27,88 @@
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
-
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
@@ -116,97 +116,97 @@
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
-
+
+
-
-
+
+
- 3.1.6
+ 3.1.7
-
+
-
+
- 3.1.6
+ 3.1.7
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -253,219 +253,219 @@
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
-
+
-
+
-
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
+
-
+
-
+
- 3.1.6
+ 3.1.7
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
-
-
+
+
-
-
+
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
-
+
-
+
- 3.1.6
+ 3.1.7
-
+
-
+
- 3.1.6
+ 3.1.7
-
-
+
+
-
-
+
+
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
@@ -473,239 +473,239 @@
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
+
-
-
+
+
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
- 3.1.6
+ 3.1.7
-
-
+
+
-
-
+
+
- 3.1.6
+ 3.1.7
-
+
-
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
-
-
-
+
+
+
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
+
- 3.1.6
+ 3.1.7
-
-
+
+
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.6
+ 3.1.7
-
-
-
+
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index 650550d179..ca3b6217b8 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -4,87 +4,87 @@ This file contains a list of all the packages and their versions which were rele
Update this list when preparing for a new patch.
-->
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs
index 2dac1a234e..db4068c52c 100644
--- a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs
+++ b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs
@@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO
};
private readonly WebSocketsAsyncIOEngine _engine;
- private readonly GCHandle _thisHandle;
+ private GCHandle _thisHandle;
private MemoryHandle _inputHandle;
private IntPtr _requestHandler;
private Memory _memory;
@@ -33,11 +33,11 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO
public WebSocketReadOperation(WebSocketsAsyncIOEngine engine)
{
_engine = engine;
- _thisHandle = GCHandle.Alloc(this);
}
protected override unsafe bool InvokeOperation(out int hr, out int bytes)
{
+ _thisHandle = GCHandle.Alloc(this);
_inputHandle = _memory.Pin();
hr = NativeMethods.HttpWebsocketsReadBytes(
@@ -67,6 +67,8 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO
{
base.ResetOperation();
+ _thisHandle.Free();
+
_memory = default;
_inputHandle.Dispose();
_inputHandle = default;
diff --git a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs
index 3eff3bba46..5e6630aae5 100644
--- a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs
+++ b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs
@@ -25,16 +25,16 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO
};
private readonly WebSocketsAsyncIOEngine _engine;
- private readonly GCHandle _thisHandle;
+ private GCHandle _thisHandle;
public WebSocketWriteOperation(WebSocketsAsyncIOEngine engine)
{
_engine = engine;
- _thisHandle = GCHandle.Alloc(this);
}
protected override unsafe int WriteChunks(IntPtr requestHandler, int chunkCount, HttpApiTypes.HTTP_DATA_CHUNK* dataChunks, out bool completionExpected)
{
+ _thisHandle = GCHandle.Alloc(this);
return NativeMethods.HttpWebsocketsWriteBytes(requestHandler, dataChunks, chunkCount, WriteCallback, (IntPtr)_thisHandle, out completionExpected);
}
@@ -42,6 +42,8 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO
{
base.ResetOperation();
+ _thisHandle.Free();
+
_engine.ReturnOperation(this);
}
}
diff --git a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs
index a796af23b3..2c1ac02e20 100644
--- a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs
+++ b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs
@@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO
var read = GetReadOperation();
read.Initialize(_handler, memory);
read.Invoke();
- return new ValueTask(read, 0);
+ return new ValueTask(read, 0);
}
}