aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar yang-g <yangg@google.com>2017-07-10 14:23:00 -0700
committerGravatar yang-g <yangg@google.com>2017-07-10 14:23:00 -0700
commitd03594fb737822f4a9480cabd0cbfaea239c4547 (patch)
tree5337228090f5de8d8ffee55a96483ecab107f239 /include
parent0d9caecde2fe36ed86b26f04fb985a250beba3f3 (diff)
second try
Diffstat (limited to 'include')
-rw-r--r--include/grpc++/impl/codegen/call.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/grpc++/impl/codegen/call.h b/include/grpc++/impl/codegen/call.h
index a40939f4d6..f6eefb9f7f 100644
--- a/include/grpc++/impl/codegen/call.h
+++ b/include/grpc++/impl/codegen/call.h
@@ -547,7 +547,10 @@ class CallOpClientRecvStatus {
/// TODO(vjpai): Remove the existence of CallOpSetCollectionInterface
/// and references to it. This code is deprecated-on-arrival and is
/// only added for users that bypassed the code-generator.
-class CallOpSetCollectionInterface {};
+class CallOpSetCollectionInterface {
+ public:
+ virtual ~CallOpSetCollectionInterface() {}
+};
/// An abstract collection of call ops, used to generate the
/// grpc_call_op structure to pass down to the lower layers,
@@ -611,12 +614,13 @@ class CallOpSet : public CallOpSetInterface,
this->Op6::FinishOp(status);
*tag = return_tag_;
- g_core_codegen_interface->grpc_call_unref(call_);
-
// TODO(vjpai): Remove the reference to collection_ once the idea of
// bypassing the code generator is forbidden. It is already deprecated
+ grpc_call* call = call_;
collection_.reset();
+ g_core_codegen_interface->grpc_call_unref(call);
+
return true;
}