diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-08-07 16:12:41 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-08-07 16:12:41 -0700 |
| commit | 22d991fda77578dd03c8d477f8427631e6383cee (patch) | |
| tree | c81eb35a13fbeb1dab8f8e6ca62dc8ccf42636e0 /src/core/init.c | |
| parent | c5354ea49184a359df8d477e844b1c52aeb234d5 (diff) | |
| download | nng-22d991fda77578dd03c8d477f8427631e6383cee.tar.gz nng-22d991fda77578dd03c8d477f8427631e6383cee.tar.bz2 nng-22d991fda77578dd03c8d477f8427631e6383cee.zip | |
Subsystem initialize is idempotent; simplify cleanup.
Diffstat (limited to 'src/core/init.c')
| -rw-r--r-- | src/core/init.c | 48 |
1 files changed, 10 insertions, 38 deletions
diff --git a/src/core/init.c b/src/core/init.c index 7de2a497..24a7b118 100644 --- a/src/core/init.c +++ b/src/core/init.c @@ -17,45 +17,17 @@ nni_init_helper(void) { int rv; - if ((rv = nni_taskq_sys_init()) != 0) { - return (rv); + if (((rv = nni_taskq_sys_init()) != 0) || + ((rv = nni_timer_sys_init()) != 0) || + ((rv = nni_aio_sys_init()) != 0) || + ((rv = nni_random_sys_init()) != 0) || + ((rv = nni_sock_sys_init()) != 0) || + ((rv = nni_ep_sys_init()) != 0) || + ((rv = nni_pipe_sys_init()) != 0) || + ((rv = nni_tran_sys_init()) != 0)) { + nni_fini(); } - if ((rv = nni_timer_sys_init()) != 0) { - nni_taskq_sys_fini(); - return (rv); - } - if ((rv = nni_aio_sys_init()) != 0) { - nni_taskq_sys_fini(); - return (rv); - } - if ((rv = nni_random_sys_init()) != 0) { - nni_aio_sys_fini(); - nni_taskq_sys_fini(); - return (rv); - } - if ((rv = nni_sock_sys_init()) != 0) { - nni_random_sys_fini(); - nni_aio_sys_fini(); - nni_taskq_sys_fini(); - return (rv); - } - if ((rv = nni_ep_sys_init()) != 0) { - nni_sock_sys_fini(); - nni_random_sys_fini(); - nni_aio_sys_fini(); - nni_taskq_sys_fini(); - return (rv); - } - if ((rv = nni_pipe_sys_init()) != 0) { - nni_ep_sys_fini(); - nni_sock_sys_fini(); - nni_random_sys_fini(); - nni_aio_sys_fini(); - nni_taskq_sys_fini(); - return (rv); - } - nni_tran_sys_init(); - return (0); + return (rv); } int |
