diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-06-06 08:15:08 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-06-06 08:15:08 -0700 |
| commit | 46a559cbdff02d8f9ca48bd918c17c33336de3a1 (patch) | |
| tree | 7c3d6ec8fb757e2856cfeeb827f78eb4c80fefb2 /src/core/init.c | |
| parent | 90c0aad40e9dbcfc1734f3174d6ce20625004a33 (diff) | |
| download | nng-46a559cbdff02d8f9ca48bd918c17c33336de3a1.tar.gz nng-46a559cbdff02d8f9ca48bd918c17c33336de3a1.tar.bz2 nng-46a559cbdff02d8f9ca48bd918c17c33336de3a1.zip | |
Start of using objhash for endpoints.
Diffstat (limited to 'src/core/init.c')
| -rw-r--r-- | src/core/init.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/core/init.c b/src/core/init.c index 4d73e897..7b3b4433 100644 --- a/src/core/init.c +++ b/src/core/init.c @@ -11,14 +11,10 @@ #include <stdlib.h> #include <stdio.h> -nni_idhash *nni_endpoints; nni_idhash *nni_pipes; -nni_idhash *nni_sockets; nni_mtx *nni_idlock; -static nni_idhash nni_endpoints_x; static nni_idhash nni_pipes_x; -static nni_idhash nni_sockets_x; static nni_mtx nni_idlock_x; static int @@ -44,17 +40,24 @@ nni_init_helper(void) nni_taskq_sys_fini(); return (rv); } + if ((rv = nni_ep_sys_init()) != 0) { + nni_sock_sys_fini(); + nni_random_sys_fini(); + nni_timer_sys_fini(); + nni_taskq_sys_fini(); + return (rv); + } if ((rv = nni_mtx_init(&nni_idlock_x)) != 0) { + nni_ep_sys_fini(); nni_sock_sys_fini(); nni_random_sys_fini(); nni_timer_sys_fini(); nni_taskq_sys_fini(); return (rv); } - if (((rv = nni_idhash_init(&nni_endpoints_x)) != 0) || - ((rv = nni_idhash_init(&nni_pipes_x)) != 0) || - ((rv = nni_idhash_init(&nni_sockets_x)) != 0)) { + if ((rv = nni_idhash_init(&nni_pipes_x)) != 0) { nni_mtx_fini(&nni_idlock_x); + nni_ep_sys_fini(); nni_sock_sys_fini(); nni_random_sys_fini(); nni_timer_sys_fini(); @@ -63,13 +66,9 @@ nni_init_helper(void) } nni_idhash_set_limits(&nni_pipes_x, 1, 0x7fffffff, (nni_random() & 0x7ffffffe) + 1); - nni_idhash_set_limits(&nni_sockets_x, 1, 0x7fffffff, 1); - nni_idhash_set_limits(&nni_endpoints_x, 1, 0xffffffff, 1); nni_idlock = &nni_idlock_x; nni_pipes = &nni_pipes_x; - nni_endpoints = &nni_endpoints_x; - nni_sockets = &nni_sockets_x; nni_tran_sys_init(); return (0); @@ -86,11 +85,11 @@ nni_init(void) void nni_fini(void) { - nni_idhash_fini(&nni_endpoints_x); nni_idhash_fini(&nni_pipes_x); - nni_idhash_fini(&nni_sockets_x); nni_mtx_fini(&nni_idlock_x); nni_tran_sys_fini(); + nni_ep_sys_fini(); + nni_sock_sys_fini(); nni_random_sys_fini(); nni_timer_sys_fini(); nni_taskq_sys_fini(); |
