|
|
|
@ -551,13 +551,26 @@ static void grpc_run_batch_stack_init(run_batch_stack *st, |
|
|
|
|
/* grpc_run_batch_stack_cleanup ensures the run_batch_stack is properly
|
|
|
|
|
* cleaned up */ |
|
|
|
|
static void grpc_run_batch_stack_cleanup(run_batch_stack *st) { |
|
|
|
|
size_t i = 0; |
|
|
|
|
|
|
|
|
|
grpc_metadata_array_destroy(&st->send_metadata); |
|
|
|
|
grpc_metadata_array_destroy(&st->send_trailing_metadata); |
|
|
|
|
grpc_metadata_array_destroy(&st->recv_metadata); |
|
|
|
|
grpc_metadata_array_destroy(&st->recv_trailing_metadata); |
|
|
|
|
|
|
|
|
|
if (st->recv_status_details != NULL) { |
|
|
|
|
gpr_free(st->recv_status_details); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (st->recv_message != NULL) { |
|
|
|
|
grpc_byte_buffer_destroy(st->recv_message); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (i = 0; i < st->op_num; i++) { |
|
|
|
|
if (st->ops[i].op == GRPC_OP_SEND_MESSAGE) { |
|
|
|
|
grpc_byte_buffer_destroy(st->ops[i].data.send_message); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* grpc_run_batch_stack_fill_ops fills the run_batch_stack ops array from
|
|
|
|
@ -643,7 +656,6 @@ static VALUE grpc_run_batch_stack_build_result(run_batch_stack *st) { |
|
|
|
|
break; |
|
|
|
|
case GRPC_OP_SEND_MESSAGE: |
|
|
|
|
rb_struct_aset(result, sym_send_message, Qtrue); |
|
|
|
|
grpc_byte_buffer_destroy(st->ops[i].data.send_message); |
|
|
|
|
break; |
|
|
|
|
case GRPC_OP_SEND_CLOSE_FROM_CLIENT: |
|
|
|
|
rb_struct_aset(result, sym_send_close, Qtrue); |
|
|
|
|