Remove bogus assert

reviewable/pr8842/r4
Craig Tiller 8 years ago
parent 9d4fc31da4
commit 81eceb31cc
  1. 9
      include/grpc++/impl/codegen/client_unary_call.h
  2. 3
      include/grpc++/impl/codegen/core_codegen.h
  3. 5
      include/grpc++/impl/codegen/core_codegen_interface.h
  4. 2
      src/core/ext/transport/chttp2/transport/chttp2_transport.c
  5. 6
      src/cpp/common/core_codegen.cc

@ -69,7 +69,14 @@ Status BlockingUnaryCall(ChannelInterface* channel, const RpcMethod& method,
ops.ClientSendClose();
ops.ClientRecvStatus(context, &status);
call.PerformOps(&ops);
GPR_CODEGEN_ASSERT((cq.Pluck(&ops) && ops.got_message) || !status.ok());
if (cq.Pluck(&ops)) {
if (!ops.got_message && status.ok()) {
return Status(StatusCode::UNIMPLEMENTED,
"No message returned for unary request");
}
} else {
GPR_CODEGEN_ASSERT(!status.ok());
}
return status;
}

@ -94,7 +94,8 @@ class CoreCodegen : public CoreCodegenInterface {
virtual const Status& ok() override;
virtual const Status& cancelled() override;
void assert_fail(const char* failed_assertion) override;
void assert_fail(const char* failed_assertion, const char* file,
int line) override;
};
} // namespace grpc

@ -56,7 +56,8 @@ namespace grpc {
class CoreCodegenInterface {
public:
/// Upon a failed assertion, log the error.
virtual void assert_fail(const char* failed_assertion) = 0;
virtual void assert_fail(const char* failed_assertion, const char* file,
int line) = 0;
virtual grpc_completion_queue* grpc_completion_queue_create(
void* reserved) = 0;
@ -120,7 +121,7 @@ extern CoreCodegenInterface* g_core_codegen_interface;
#define GPR_CODEGEN_ASSERT(x) \
do { \
if (!(x)) { \
grpc::g_core_codegen_interface->assert_fail(#x); \
grpc::g_core_codegen_interface->assert_fail(#x, __FILE__, __LINE__); \
} \
} while (0)

@ -1075,8 +1075,6 @@ static void perform_stream_op_locked(grpc_exec_ctx *exec_ctx, void *stream_op,
on_complete->next_data.scratch |= CLOSURE_BARRIER_MAY_COVER_WRITE;
s->fetching_send_message_finished = add_closure_barrier(op->on_complete);
if (s->write_closed) {
gpr_log(GPR_DEBUG, "write_closed_error=%s",
grpc_error_string(s->write_closed_error));
grpc_chttp2_complete_closure_step(
exec_ctx, t, s, &s->fetching_send_message_finished,
GRPC_ERROR_CREATE_REFERENCING(

@ -163,8 +163,10 @@ gpr_timespec CoreCodegen::gpr_time_0(gpr_clock_type type) {
return ::gpr_time_0(type);
}
void CoreCodegen::assert_fail(const char* failed_assertion) {
gpr_log(GPR_ERROR, "assertion failed: %s", failed_assertion);
void CoreCodegen::assert_fail(const char* failed_assertion, const char* file,
int line) {
gpr_log(file, line, GPR_LOG_SEVERITY_ERROR, "assertion failed: %s",
failed_assertion);
abort();
}

Loading…
Cancel
Save