diff options
author | Determinant <ted.sybil@gmail.com> | 2019-06-28 22:49:03 -0400 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2019-06-28 22:49:03 -0400 |
commit | 8d242e0112c7f9072600a48366ebbd6ce7b5c727 (patch) | |
tree | a44e9e7c8284f572d29582c4fef8019041d01946 /include/salticidae/conn.h | |
parent | ad427b9a7b27e2ae16fc8cb21d612794f4a71955 (diff) |
fix data race in timers
Diffstat (limited to 'include/salticidae/conn.h')
-rw-r--r-- | include/salticidae/conn.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/salticidae/conn.h b/include/salticidae/conn.h index b693b4f..c34521a 100644 --- a/include/salticidae/conn.h +++ b/include/salticidae/conn.h @@ -115,6 +115,7 @@ class ConnPool { Conn(Conn &&other) = delete; virtual ~Conn() { + std::atomic_thread_fence(std::memory_order_acquire); SALTICIDAE_LOG_INFO("destroyed %s", std::string(*this).c_str()); } @@ -251,7 +252,6 @@ class ConnPool { /* the caller should finalize all the preparation */ tcall.async_call([this, conn, client_fd](ThreadCall::Handle &) { try { - conn->ev_connect.clear(); assert(conn->mode != Conn::ConnMode::DEAD); auto cpool = conn->cpool; if (cpool->enable_tls) |