Fix error refcounting.

pull/7970/head
Mark D. Roth 8 years ago
parent c890042118
commit 697a1f6023
  1. 2
      src/core/ext/client_config/client_channel.c
  2. 1
      src/core/lib/channel/deadline_filter.c

@ -571,8 +571,10 @@ static bool pick_subchannel(grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
} }
gpr_mu_unlock(&chand->mu); gpr_mu_unlock(&chand->mu);
GPR_TIMER_END("pick_subchannel", 0); GPR_TIMER_END("pick_subchannel", 0);
GRPC_ERROR_UNREF(error);
return true; return true;
} }
GPR_ASSERT(error == GRPC_ERROR_NONE);
if (chand->lb_policy != NULL) { if (chand->lb_policy != NULL) {
grpc_lb_policy *lb_policy = chand->lb_policy; grpc_lb_policy *lb_policy = chand->lb_policy;
int r; int r;

@ -63,6 +63,7 @@ gpr_log(GPR_INFO, "DEADLINE_EXCEEDED");
GRPC_ERROR_CREATE("Deadline Exceeded"), GRPC_ERROR_CREATE("Deadline Exceeded"),
GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_DEADLINE_EXCEEDED); GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_DEADLINE_EXCEEDED);
elem->filter->start_transport_stream_op(exec_ctx, elem, &op); elem->filter->start_transport_stream_op(exec_ctx, elem, &op);
GRPC_ERROR_UNREF(op.cancel_error);
} }
GRPC_CALL_STACK_UNREF(exec_ctx, deadline_state->call_stack, "deadline_timer"); GRPC_CALL_STACK_UNREF(exec_ctx, deadline_state->call_stack, "deadline_timer");
} }

Loading…
Cancel
Save