diff --git a/src/csharp/Grpc.Core/Server.cs b/src/csharp/Grpc.Core/Server.cs
index 26d182ae53b..8705f52666f 100644
--- a/src/csharp/Grpc.Core/Server.cs
+++ b/src/csharp/Grpc.Core/Server.cs
@@ -334,7 +334,7 @@ namespace Grpc.Core
///
/// Selects corresponding handler for given call and handles the call.
///
- private async Task HandleCallAsync(ServerRpcNew newRpc, CompletionQueueSafeHandle cq, Action continuation)
+ private async Task HandleCallAsync(ServerRpcNew newRpc, CompletionQueueSafeHandle cq, Action continuation)
{
try
{
@@ -351,7 +351,7 @@ namespace Grpc.Core
}
finally
{
- continuation();
+ continuation(this, cq);
}
}
@@ -374,7 +374,7 @@ namespace Grpc.Core
// Don't await, the continuations will run on gRPC thread pool once triggered
// by cq.Next().
#pragma warning disable 4014
- HandleCallAsync(newRpc, cq, () => AllowOneRpc(cq));
+ HandleCallAsync(newRpc, cq, (server, state) => server.AllowOneRpc(state));
#pragma warning restore 4014
}
}