diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-07-21 02:46:01 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-07-21 02:46:01 -0700 |
| commit | 537e2eda8d9fda2001295c835a4720def6a237f1 (patch) | |
| tree | 615d05096e0fe4c8bfbccf31f37c7256381ccd8e /src/core/endpt.c | |
| parent | 07078e1cf761cb6e56e46bde3ade6f792368d7dd (diff) | |
| download | nng-537e2eda8d9fda2001295c835a4720def6a237f1.tar.gz nng-537e2eda8d9fda2001295c835a4720def6a237f1.tar.bz2 nng-537e2eda8d9fda2001295c835a4720def6a237f1.zip | |
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.
Diffstat (limited to 'src/core/endpt.c')
| -rw-r--r-- | src/core/endpt.c | 5 |
1 files changed, 3 insertions, 2 deletions
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); } |
