Merge github.com:grpc/grpc into cereal-is-bad-for-your-health
diff --git a/test/cpp/qps/server_async.cc b/test/cpp/qps/server_async.cc
index 977dfc2..4b0678b 100644
--- a/test/cpp/qps/server_async.cc
+++ b/test/cpp/qps/server_async.cc
@@ -101,10 +101,11 @@
ServerRpcContext *ctx = detag(got_tag);
// The tag is a pointer to an RPC context to invoke
bool still_going = ctx->RunNextState(ok);
- std::lock_guard<std::mutex> g(shutdown_mutex_);
+ std::unique_lock<std::mutex> g(shutdown_mutex_);
if (!shutdown_) {
// this RPC context is done, so refresh it
if (!still_going) {
+ g.unlock();
ctx->Reset();
}
} else {