allow shutdown of unstarted server

pull/6829/head
Jan Tattermusch 9 years ago
parent 95e547ef9e
commit 8e93533f65
  1. 8
      src/csharp/Grpc.Core.Tests/ServerTest.cs
  2. 3
      src/csharp/Grpc.Core/Server.cs

@ -94,6 +94,14 @@ namespace Grpc.Core.Tests
server.ShutdownAsync().Wait();
}
[Test]
public void UnstartedServerCanBeShutdown()
{
var server = new Server();
server.ShutdownAsync().Wait();
Assert.Throws(typeof(InvalidOperationException), () => server.Start());
}
[Test]
public void UnstartedServerDoesNotPreventShutdown()
{

@ -140,6 +140,7 @@ namespace Grpc.Core
lock (myLock)
{
GrpcPreconditions.CheckState(!startRequested);
GrpcPreconditions.CheckState(!shutdownRequested);
startRequested = true;
handle.Start();
@ -203,7 +204,6 @@ namespace Grpc.Core
{
lock (myLock)
{
GrpcPreconditions.CheckState(startRequested);
GrpcPreconditions.CheckState(!shutdownRequested);
shutdownRequested = true;
}
@ -215,7 +215,6 @@ namespace Grpc.Core
{
handle.CancelAllCalls();
}
await ShutdownCompleteOrEnvironmentDeadAsync().ConfigureAwait(false);
DisposeHandle();

Loading…
Cancel
Save