diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-12-11 07:27:36 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-12-11 07:27:36 -0800 |
| commit | 47eed71eee292ea5fafd140b4364ce4c509a1a1d (patch) | |
| tree | 5ae7c6942766a5d8ff9eb4f25724b365ea3a6782 | |
| parent | c88945340602c3869f1670a6e67167a2b85b3463 (diff) | |
| download | nng-47eed71eee292ea5fafd140b4364ce4c509a1a1d.tar.gz nng-47eed71eee292ea5fafd140b4364ce4c509a1a1d.tar.bz2 nng-47eed71eee292ea5fafd140b4364ce4c509a1a1d.zip | |
tcp: implement ep stop
| -rw-r--r-- | src/sp/transport/tcp/tcp.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/sp/transport/tcp/tcp.c b/src/sp/transport/tcp/tcp.c index a32ee7a8..2497b899 100644 --- a/src/sp/transport/tcp/tcp.c +++ b/src/sp/transport/tcp/tcp.c @@ -668,6 +668,15 @@ tcptran_pipe_start(tcptran_pipe *p, nng_stream *conn, tcptran_ep *ep) } static void +tcptran_ep_stop(void *arg) +{ + tcptran_ep *ep = arg; + + nni_aio_stop(ep->timeaio); + nni_aio_stop(ep->connaio); +} + +static void tcptran_ep_fini(void *arg) { tcptran_ep *ep = arg; @@ -679,8 +688,6 @@ tcptran_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); @@ -1139,6 +1146,7 @@ static nni_sp_dialer_ops tcptran_dialer_ops = { .d_fini = tcptran_ep_fini, .d_connect = tcptran_ep_connect, .d_close = tcptran_ep_close, + .d_stop = tcptran_ep_stop, .d_getopt = tcptran_dialer_getopt, .d_setopt = tcptran_dialer_setopt, }; @@ -1149,6 +1157,7 @@ static nni_sp_listener_ops tcptran_listener_ops = { .l_bind = tcptran_ep_bind, .l_accept = tcptran_ep_accept, .l_close = tcptran_ep_close, + .l_stop = tcptran_ep_stop, .l_getopt = tcptran_listener_getopt, .l_setopt = tcptran_listener_setopt, }; |
