diff options
author | 2015-02-10 15:58:55 -0800 | |
---|---|---|
committer | 2015-02-10 15:58:55 -0800 | |
commit | 98c387dcd466d467f1708a53fee9e86b6c3a70d7 (patch) | |
tree | d690acfc821ed33b8bcef0a9f46fd2a2357e06b4 /src/core/surface/call.c | |
parent | 5f6480b01631c97f0fad0c45a00cd10d717bf11d (diff) | |
parent | 7d41321306eecdd7fa1dbbcf663cc94fd75db975 (diff) |
Merge pull request #428 from ctiller/clientlock2
Work towards removing some contention
Diffstat (limited to 'src/core/surface/call.c')
-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 ee8e8588c7..0af2154842 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -1260,7 +1260,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; |