aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/surface/call.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index ad55ef6601..6e2714db0b 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -405,6 +405,8 @@ void grpc_call_internal_unref(grpc_call *c, int allow_immediate_deletion) {
static void set_status_code(grpc_call *call, status_source source,
gpr_uint32 status) {
+ if (call->status[source].is_set) return;
+
call->status[source].is_set = 1;
call->status[source].code = status;