diff options
-rw-r--r-- | src/core/surface/call.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/surface/call.c b/src/core/surface/call.c index 0af524cead..6a21c439b2 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -1116,7 +1116,10 @@ grpc_call_error grpc_call_server_accept_old(grpc_call *call, ls = get_legacy_state(call); err = bind_cq(call, cq); - if (err != GRPC_CALL_OK) return err; + if (err != GRPC_CALL_OK) { + unlock(call); + return err; + } ls->finished_tag = finished_tag; |