From 537e2eda8d9fda2001295c835a4720def6a237f1 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 21 Jul 2017 02:46:01 -0700 Subject: Simpler taskq API. The queue is bound at initialization time of the task, and we call entries just tasks, so we don't have to pass around a taskq pointer across all the calls. Further, nni_task_dispatch is now guaranteed to succeed. --- src/core/endpt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/core/endpt.c') diff --git a/src/core/endpt.c b/src/core/endpt.c index 6b474698..c0f9d399 100644 --- a/src/core/endpt.c +++ b/src/core/endpt.c @@ -22,6 +22,7 @@ static void nni_ep_connect_start(nni_ep *); static void nni_ep_connect_done(void *); static void nni_ep_backoff_start(nni_ep *); static void nni_ep_backoff_done(void *); +static void nni_ep_reap(nni_ep *); static nni_idhash *nni_eps; @@ -107,6 +108,7 @@ nni_ep_create(nni_ep **epp, nni_sock *sock, const char *addr, int mode) ep->ep_refcnt = 0; NNI_LIST_NODE_INIT(&ep->ep_node); + nni_task_init(NULL, &ep->ep_reap_task, (nni_cb) nni_ep_reap, ep); nni_pipe_ep_list_init(&ep->ep_pipes); @@ -226,8 +228,7 @@ nni_ep_stop(nni_ep *ep) nni_pipe_stop(pipe); } - nni_taskq_ent_init(&ep->ep_reap_tqe, (nni_cb) nni_ep_reap, ep); - nni_taskq_dispatch(NULL, &ep->ep_reap_tqe); + nni_task_dispatch(&ep->ep_reap_task); nni_mtx_unlock(&ep->ep_mtx); } -- cgit v1.2.3-70-g09d2