aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/qps
diff options
context:
space:
mode:
authorGravatar Vijay Pai <vpai@google.com>2017-09-07 18:34:56 -0700
committerGravatar GitHub <noreply@github.com>2017-09-07 18:34:56 -0700
commit7f6a27a4d3675adc0de263d291346aab2f46e733 (patch)
tree6e13798324a9972a9202672c238c0e6a09a9fb3a /test/cpp/qps
parentbf3b8445fed56ba921dd016b4690f6ba3e127ec3 (diff)
parent58c33ba19bcec079d0991822055f28e804540426 (diff)
Merge pull request #12372 from vjpai/armalarmadingdong
Core API change: Decouple alarm construction from setting to avoid races in MT code
Diffstat (limited to 'test/cpp/qps')
-rw-r--r--test/cpp/qps/client_async.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/test/cpp/qps/client_async.cc b/test/cpp/qps/client_async.cc
index 97e2aef914..912c871482 100644
--- a/test/cpp/qps/client_async.cc
+++ b/test/cpp/qps/client_async.cc
@@ -141,7 +141,8 @@ class ClientRpcContextUnaryImpl : public ClientRpcContext {
if (!next_issue_) { // ready to issue
RunNextState(true, nullptr);
} else { // wait for the issue time
- alarm_.reset(new Alarm(cq_, next_issue_(), ClientRpcContext::tag(this)));
+ alarm_.reset(new Alarm);
+ alarm_->Set(cq_, next_issue_(), ClientRpcContext::tag(this));
}
}
};
@@ -360,8 +361,8 @@ class ClientRpcContextStreamingPingPongImpl : public ClientRpcContext {
break; // loop around, don't return
case State::WAIT:
next_state_ = State::READY_TO_WRITE;
- alarm_.reset(
- new Alarm(cq_, next_issue_(), ClientRpcContext::tag(this)));
+ alarm_.reset(new Alarm);
+ alarm_->Set(cq_, next_issue_(), ClientRpcContext::tag(this));
return true;
case State::READY_TO_WRITE:
if (!ok) {
@@ -518,8 +519,8 @@ class ClientRpcContextStreamingFromClientImpl : public ClientRpcContext {
}
break; // loop around, don't return
case State::WAIT:
- alarm_.reset(
- new Alarm(cq_, next_issue_(), ClientRpcContext::tag(this)));
+ alarm_.reset(new Alarm);
+ alarm_->Set(cq_, next_issue_(), ClientRpcContext::tag(this));
next_state_ = State::READY_TO_WRITE;
return true;
case State::READY_TO_WRITE:
@@ -760,8 +761,8 @@ class ClientRpcContextGenericStreamingImpl : public ClientRpcContext {
break; // loop around, don't return
case State::WAIT:
next_state_ = State::READY_TO_WRITE;
- alarm_.reset(
- new Alarm(cq_, next_issue_(), ClientRpcContext::tag(this)));
+ alarm_.reset(new Alarm);
+ alarm_->Set(cq_, next_issue_(), ClientRpcContext::tag(this));
return true;
case State::READY_TO_WRITE:
if (!ok) {