Skip to content

Commit 0d9de49

Browse files
benaadamspakrym
authored andcommitted
Transport.Sockets.IOQueue -> IThreadPoolWorkItem (#4601)
1 parent 8be8e00 commit 0d9de49

File tree

1 file changed

+3
-5
lines changed
  • src/Servers/Kestrel/Transport.Sockets/src/Internal

1 file changed

+3
-5
lines changed

src/Servers/Kestrel/Transport.Sockets/src/Internal/IOQueue.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,8 @@
88

99
namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal
1010
{
11-
public class IOQueue : PipeScheduler
11+
public class IOQueue : PipeScheduler, IThreadPoolWorkItem
1212
{
13-
private static readonly WaitCallback _doWorkCallback = s => ((IOQueue)s).DoWork();
14-
1513
private readonly object _workSync = new object();
1614
private readonly ConcurrentQueue<Work> _workItems = new ConcurrentQueue<Work>();
1715
private bool _doingWork;
@@ -30,13 +28,13 @@ public override void Schedule(Action<object> action, object state)
3028
{
3129
if (!_doingWork)
3230
{
33-
System.Threading.ThreadPool.UnsafeQueueUserWorkItem(_doWorkCallback, this);
31+
System.Threading.ThreadPool.UnsafeQueueUserWorkItem(this, preferLocal: false);
3432
_doingWork = true;
3533
}
3634
}
3735
}
3836

39-
private void DoWork()
37+
void IThreadPoolWorkItem.Execute()
4038
{
4139
while (true)
4240
{

0 commit comments

Comments
 (0)