diff options
| -rw-r--r-- | src/sp/transport/tls/tls.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/sp/transport/tls/tls.c b/src/sp/transport/tls/tls.c index 9d02b528..7a907e8e 100644 --- a/src/sp/transport/tls/tls.c +++ b/src/sp/transport/tls/tls.c @@ -641,8 +641,6 @@ tlstran_ep_fini(void *arg) return; } nni_mtx_unlock(&ep->mtx); - nni_aio_stop(ep->timeaio); - nni_aio_stop(ep->connaio); nng_stream_dialer_free(ep->dialer); nng_stream_listener_free(ep->listener); nni_aio_free(ep->timeaio); @@ -653,6 +651,15 @@ tlstran_ep_fini(void *arg) } static void +tlstran_ep_stop(void *arg) +{ + tlstran_ep *ep = arg; + + nni_aio_stop(ep->timeaio); + nni_aio_stop(ep->connaio); +} + +static void tlstran_ep_close(void *arg) { tlstran_ep *ep = arg; @@ -1147,6 +1154,7 @@ static nni_sp_dialer_ops tlstran_dialer_ops = { .d_fini = tlstran_ep_fini, .d_connect = tlstran_ep_connect, .d_close = tlstran_ep_close, + .d_stop = tlstran_ep_stop, .d_getopt = tlstran_dialer_getopt, .d_setopt = tlstran_dialer_setopt, .d_get_tls = tlstran_dialer_get_tls, @@ -1159,6 +1167,7 @@ static nni_sp_listener_ops tlstran_listener_ops = { .l_bind = tlstran_ep_bind, .l_accept = tlstran_ep_accept, .l_close = tlstran_ep_close, + .l_stop = tlstran_ep_stop, .l_getopt = tlstran_listener_get, .l_setopt = tlstran_listener_set, .l_set_tls = tlstran_listener_set_tls, |
