Deserialization success should not override earlier failure

pull/501/head
Yang Gao 10 years ago
parent d745705fff
commit 2cf952730d
  1. 2
      src/cpp/common/call.cc
  2. 2
      src/cpp/server/server.cc

@ -254,7 +254,7 @@ void CallOpBuffer::FinalizeResult(void** tag, bool* status) {
if (recv_message_) {
if (recv_message_buf_) {
got_message = true;
*status = DeserializeProto(recv_message_buf_, recv_message_);
*status &= DeserializeProto(recv_message_buf_, recv_message_);
grpc_byte_buffer_destroy(recv_message_buf_);
recv_message_buf_ = nullptr;
} else {

@ -314,7 +314,7 @@ class Server::AsyncRequest final : public CompletionQueueTag {
*tag = tag_;
if (*status && request_) {
if (payload_) {
*status = DeserializeProto(payload_, request_);
*status &= DeserializeProto(payload_, request_);
} else {
*status = false;
}

Loading…
Cancel
Save