aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-07-21 08:21:57 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-07-21 08:21:57 -0700
commit26205360fe57350d300fc60626d51727b6595f0f (patch)
tree7b16bd65603f9e39fae1d1f74f6c8f77d9f4e767
parent40d808ffdc00831fdb31f7ed11610a21854a18ee (diff)
Fix (forever) a TSAN bug thats plagued us
-rw-r--r--src/core/iomgr/tcp_client_posix.c4
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);
}