diff options
author | Craig Tiller <ctiller@google.com> | 2015-07-21 08:21:57 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2015-07-21 08:21:57 -0700 |
commit | 26205360fe57350d300fc60626d51727b6595f0f (patch) | |
tree | 7b16bd65603f9e39fae1d1f74f6c8f77d9f4e767 | |
parent | 40d808ffdc00831fdb31f7ed11610a21854a18ee (diff) |
Fix (forever) a TSAN bug thats plagued us
-rw-r--r-- | src/core/iomgr/tcp_client_posix.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/iomgr/tcp_client_posix.c b/src/core/iomgr/tcp_client_posix.c index dc0489e64f..2ae0251abb 100644 --- a/src/core/iomgr/tcp_client_posix.c +++ b/src/core/iomgr/tcp_client_posix.c @@ -114,6 +114,8 @@ static void on_writable(void *acp, int success) { void (*cb)(void *arg, grpc_endpoint *tcp) = ac->cb; void *cb_arg = ac->cb_arg; + grpc_alarm_cancel(&ac->alarm); + gpr_mu_lock(&ac->mu); if (success) { do { @@ -178,8 +180,6 @@ finish: if (done) { gpr_mu_destroy(&ac->mu); gpr_free(ac); - } else { - grpc_alarm_cancel(&ac->alarm); } cb(cb_arg, ep); } |