diff --git a/build/dependencies.props b/build/dependencies.props index 6916e0189a..ad5d09463e 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -7,38 +7,38 @@ 0.10.11 2.1.0-preview2-15728 1.10.0 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 - 2.1.0-preview2-30301 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-pk-corefx0-16426 + 2.1.0-preview2-pk-corefx0-16426 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 + 2.1.0-preview2-30272 2.0.0 2.1.0-preview2-26308-01 - 2.1.0-preview2-30301 + 2.1.0-preview2-30272 15.6.0 4.7.49 10.0.1 - 4.5.0-preview2-26313-02 - 4.5.0-preview2-26313-02 - 4.5.0-preview2-26313-02 - 4.5.0-preview2-26313-02 - 4.5.0-preview2-26313-02 - 4.5.0-preview2-26313-02 - 4.5.0-preview2-26313-02 + 4.5.0-preview2-26308-02 + 4.5.0-preview2-26308-02 + 4.5.0-preview2-26308-02 + 4.5.0-preview2-26308-02 + 4.5.0-preview2-26308-02 + 4.5.0-preview2-26308-02 + 4.5.0-preview2-26308-02 0.8.0 2.3.1 2.4.0-beta.1.build3945 diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvThread.cs b/src/Kestrel.Transport.Libuv/Internal/LibuvThread.cs index 42b2886c3d..f26f656528 100644 --- a/src/Kestrel.Transport.Libuv/Internal/LibuvThread.cs +++ b/src/Kestrel.Transport.Libuv/Internal/LibuvThread.cs @@ -396,7 +396,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal return await Task.WhenAny(task, Task.Delay(timeout)).ConfigureAwait(false) == task; } - public override void Schedule(Action action, object state) + public override void Schedule(Action action, T state) { Post(action, state); } diff --git a/src/Kestrel.Transport.Sockets/Internal/IOQueue.cs b/src/Kestrel.Transport.Sockets/Internal/IOQueue.cs index 6a3e60d1ac..49b6b3e668 100644 --- a/src/Kestrel.Transport.Sockets/Internal/IOQueue.cs +++ b/src/Kestrel.Transport.Sockets/Internal/IOQueue.cs @@ -16,10 +16,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal private readonly ConcurrentQueue _workItems = new ConcurrentQueue(); private bool _doingWork; - public override void Schedule(Action action, object state) + public override void Schedule(Action action, T state) { var work = new Work { + CallbackAdapter = (c, s) => ((Action)c)((T)s), Callback = action, State = state }; @@ -42,7 +43,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal { while (_workItems.TryDequeue(out Work item)) { - item.Callback(item.State); + item.CallbackAdapter(item.Callback, item.State); } lock (_workSync) @@ -58,7 +59,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal private struct Work { - public Action Callback; + public Action CallbackAdapter; + public object Callback; public object State; } } diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketAwaitable.cs b/src/Kestrel.Transport.Sockets/Internal/SocketAwaitable.cs index 1da07c9375..f266033a36 100644 --- a/src/Kestrel.Transport.Sockets/Internal/SocketAwaitable.cs +++ b/src/Kestrel.Transport.Sockets/Internal/SocketAwaitable.cs @@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal if (continuation != null) { - _ioScheduler.Schedule(state => ((Action)state)(), continuation); + _ioScheduler.Schedule(c => c(), continuation); } } }