aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Yang Gao <yangg@google.com>2015-05-28 00:52:31 -0700
committerGravatar Yang Gao <yangg@google.com>2015-05-28 00:52:31 -0700
commitdbf8fdc07396e466ad53bd4c54430660212b585c (patch)
tree05e2dc0556219ce320c72f9cf8b9b70a705cdde3 /src/core
parentf381f2596f79a3af29de44d27530432c3ed1ec3f (diff)
Unref the slices if no write will happen.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/channel/client_channel.c1
-rw-r--r--src/core/surface/lame_client.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/core/channel/client_channel.c b/src/core/channel/client_channel.c
index 78f8d06d89..42e242ae81 100644
--- a/src/core/channel/client_channel.c
+++ b/src/core/channel/client_channel.c
@@ -144,6 +144,7 @@ static void handle_op_after_cancellation(grpc_call_element *elem,
call_data *calld = elem->call_data;
channel_data *chand = elem->channel_data;
if (op->send_ops) {
+ grpc_stream_ops_unref_owned_objects(op->send_ops->ops, op->send_ops->nops);
op->on_done_send(op->send_user_data, 0);
}
if (op->recv_ops) {
diff --git a/src/core/surface/lame_client.c b/src/core/surface/lame_client.c
index 3186292a02..a3b0b2672b 100644
--- a/src/core/surface/lame_client.c
+++ b/src/core/surface/lame_client.c
@@ -55,6 +55,7 @@ static void lame_start_transport_op(grpc_call_element *elem,
channel_data *chand = elem->channel_data;
GRPC_CALL_LOG_OP(GPR_INFO, elem, op);
if (op->send_ops) {
+ grpc_stream_ops_unref_owned_objects(op->send_ops->ops, op->send_ops->nops);
op->on_done_send(op->send_user_data, 0);
}
if (op->recv_ops) {