diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc index 08c956601c393f97792077ba3440c0a6a2ab1044..1ff9ff4b32b695e24ac90e578afcf92f24c2c359 100644 --- a/src/cpp/server/server.cc +++ b/src/cpp/server/server.cc @@ -446,8 +446,12 @@ void Server::RunRpc() { ScheduleCallback(); if (ok) { SyncRequest::CallData cd(this, mrd); - mrd->Request(server_); - + { + grpc::unique_lock<grpc::mutex> lock(mu_); + if (!shutdown_) { + mrd->Request(server_); + } + } cd.Run(); } }