diff options
Diffstat (limited to 'src/conn.cpp')
-rw-r--r-- | src/conn.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/conn.cpp b/src/conn.cpp index 84f08a4..e01690d 100644 --- a/src/conn.cpp +++ b/src/conn.cpp @@ -228,8 +228,10 @@ void ConnPool::Conn::_recv_data_tls_handshake(const conn_t &conn, int, int) { conn->peer_cert = new X509(conn->tls->get_peer_cert()); conn->worker->enable_send_buffer(conn, conn->fd); auto cpool = conn->cpool; - cpool->on_setup(conn); - cpool->update_conn(conn, true); + cpool->disp_tcall->async_call([cpool, conn](ThreadCall::Handle &) { + cpool->on_setup(conn); + cpool->update_conn(conn, true); + }); } else { |