aboutsummaryrefslogtreecommitdiff
path: root/src/sp/transport/socket
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-12-08 20:40:12 -0800
committerGarrett D'Amore <garrett@damore.org>2024-12-11 07:01:42 -0800
commit0b6be293df6105516304b51a0632b8cce04925b7 (patch)
treecdd274161767e9a715275d07297997da9acee3ae /src/sp/transport/socket
parenta7a3046f7cca833e895d58976843663d1df5caba (diff)
downloadnng-0b6be293df6105516304b51a0632b8cce04925b7.tar.gz
nng-0b6be293df6105516304b51a0632b8cce04925b7.tar.bz2
nng-0b6be293df6105516304b51a0632b8cce04925b7.zip
sockfd: implement endpoint stop functions
Diffstat (limited to 'src/sp/transport/socket')
-rw-r--r--src/sp/transport/socket/sockfd.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sp/transport/socket/sockfd.c b/src/sp/transport/socket/sockfd.c
index 3db76215..d066f837 100644
--- a/src/sp/transport/socket/sockfd.c
+++ b/src/sp/transport/socket/sockfd.c
@@ -621,6 +621,7 @@ sfd_tran_ep_close(void *arg)
sfd_tran_ep *ep = arg;
sfd_tran_pipe *p;
+ nni_aio_close(&ep->connaio);
nni_mtx_lock(&ep->mtx);
ep->closed = true;
@@ -642,6 +643,14 @@ sfd_tran_ep_close(void *arg)
}
static void
+sfd_tran_ep_stop(void *arg)
+{
+ sfd_tran_ep *ep = arg;
+
+ nni_aio_stop(&ep->connaio);
+}
+
+static void
sfd_tran_accept_cb(void *arg)
{
sfd_tran_ep *ep = arg;
@@ -872,6 +881,7 @@ static nni_sp_listener_ops sfd_tran_listener_ops = {
.l_bind = sfd_tran_ep_bind,
.l_accept = sfd_tran_ep_accept,
.l_close = sfd_tran_ep_close,
+ .l_stop = sfd_tran_ep_stop,
.l_getopt = sfd_tran_listener_getopt,
.l_setopt = sfd_tran_listener_setopt,
};