pull/357/head
Craig Tiller 10 years ago
parent 44ad76fae1
commit f26370d610
  1. 12
      src/core/surface/call.c

@ -122,7 +122,7 @@ struct grpc_call {
legacy_state *legacy_state;
};
#define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call) + 1))
#define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call)+1))
#define CALL_FROM_CALL_STACK(call_stack) (((grpc_call *)(call_stack)) - 1)
#define CALL_ELEM_FROM_CALL(call, idx) \
grpc_call_stack_element(CALL_STACK_FROM_CALL(call), idx)
@ -257,8 +257,12 @@ static void finish_ioreq_op(grpc_call *call, grpc_ioreq_op op,
if (master->complete_mask == master->need_mask ||
status == GRPC_OP_ERROR) {
if (OP_IN_MASK(GRPC_IOREQ_RECV_STATUS, master->need_mask)) {
call->requests[GRPC_IOREQ_RECV_STATUS].data.recv_status->status = call->status_code;
call->requests[GRPC_IOREQ_RECV_STATUS].data.recv_status->details = call->status_details? grpc_mdstr_as_c_string(call->status_details) : NULL;
call->requests[GRPC_IOREQ_RECV_STATUS].data.recv_status->status =
call->status_code;
call->requests[GRPC_IOREQ_RECV_STATUS].data.recv_status->details =
call->status_details
? grpc_mdstr_as_c_string(call->status_details)
: NULL;
}
for (i = 0; i < GRPC_IOREQ_OP_COUNT; i++) {
if (call->requests[i].master == master) {
@ -936,7 +940,7 @@ static gpr_uint32 decode_status(grpc_mdelem *md) {
gpr_uint32 status;
void *user_data = grpc_mdelem_get_user_data(md, destroy_status);
if (user_data) {
status = ((gpr_uint32)(gpr_intptr)user_data) - STATUS_OFFSET;
status = ((gpr_uint32)(gpr_intptr) user_data) - STATUS_OFFSET;
} else {
if (!gpr_parse_bytes_to_uint32(grpc_mdstr_as_c_string(md->value),
GPR_SLICE_LENGTH(md->value->slice),

Loading…
Cancel
Save