|
|
|
@ -690,11 +690,12 @@ static void set_final_status(grpc_call* call, grpc_error* error) { |
|
|
|
|
gpr_log(GPR_DEBUG, "%s", grpc_error_string(error)); |
|
|
|
|
} |
|
|
|
|
if (call->is_client) { |
|
|
|
|
grpc_slice slice = grpc_empty_slice(); |
|
|
|
|
grpc_error_get_status(error, call->send_deadline, |
|
|
|
|
call->final_op.client.status, &slice, nullptr, |
|
|
|
|
call->final_op.client.status, |
|
|
|
|
call->final_op.client.status_details, nullptr, |
|
|
|
|
call->final_op.client.error_string); |
|
|
|
|
*call->final_op.client.status_details = grpc_slice_ref_internal(slice); |
|
|
|
|
// explicitly take a ref
|
|
|
|
|
grpc_slice_ref_internal(*call->final_op.client.status_details); |
|
|
|
|
call->status_error = error; |
|
|
|
|
grpc_core::channelz::ChannelNode* channelz_channel = |
|
|
|
|
grpc_channel_get_channelz_node(call->channel); |
|
|
|
|