Fix real TSAN/ASAN bug

pull/13364/head
Noah Eisen 7 years ago
parent 8d1a3ca5fc
commit 11c1c47fe9
  1. 2
      src/core/lib/channel/channel_stack.h
  2. 2
      src/core/lib/iomgr/error.cc
  3. 2
      src/core/lib/surface/call.cc

@ -84,7 +84,7 @@ typedef struct {
typedef struct {
grpc_call_stats stats;
grpc_status_code final_status;
const char* error_string;
const char** error_string;
} grpc_call_final_info;
/* Channel filters specify:

@ -754,7 +754,7 @@ const char* grpc_error_string(grpc_error* err) {
if (!gpr_atm_rel_cas(&err->atomics.error_string, 0, (gpr_atm)out)) {
gpr_free(out);
out = (char*)gpr_atm_acq_load(&err->atomics.error_string);
out = (char*)gpr_atm_no_barrier_load(&err->atomics.error_string);
}
GPR_TIMER_END("grpc_error_string", 0);

@ -551,7 +551,7 @@ static void destroy_call(grpc_exec_ctx* exec_ctx, void* call,
get_final_status(exec_ctx, c, set_status_value_directly,
&c->final_info.final_status, nullptr,
&c->final_info.error_string);
c->final_info.error_string);
c->final_info.stats.latency =
gpr_time_sub(gpr_now(GPR_CLOCK_MONOTONIC), c->start_time);

Loading…
Cancel
Save