diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-07-06 14:45:53 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-07-06 14:45:53 -0700 |
| commit | 3da27f7c9c1077f285f53b1e80a1befffe104770 (patch) | |
| tree | dad07400dced42b061d036c9dd86aaf501592dfc /src/platform/posix/posix_thread.c | |
| parent | 82c70435ec9be9c607de4fbd62d4de9ae7d7c081 (diff) | |
| download | nng-3da27f7c9c1077f285f53b1e80a1befffe104770.tar.gz nng-3da27f7c9c1077f285f53b1e80a1befffe104770.tar.bz2 nng-3da27f7c9c1077f285f53b1e80a1befffe104770.zip | |
Fixes for async resolver, plus a test suite for it.
Diffstat (limited to 'src/platform/posix/posix_thread.c')
| -rw-r--r-- | src/platform/posix/posix_thread.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/platform/posix/posix_thread.c b/src/platform/posix/posix_thread.c index 171a87b9..4137984f 100644 --- a/src/platform/posix/posix_thread.c +++ b/src/platform/posix/posix_thread.c @@ -308,8 +308,20 @@ nni_plat_init(int (*helper)(void)) return (rv); } + if ((rv = nni_posix_resolv_sysinit()) != 0) { + pthread_mutex_unlock(&nni_plat_lock); + nni_posix_pollq_sysfini(); + (void) close(nni_plat_devnull); + pthread_mutexattr_destroy(&nni_mxattr); + pthread_condattr_destroy(&nni_cvattr); + pthread_attr_destroy(&nni_pthread_attr); + return (rv); + + } + if (pthread_atfork(NULL, NULL, nni_atfork_child) != 0) { pthread_mutex_unlock(&nni_plat_lock); + nni_posix_resolv_sysfini(); nni_posix_pollq_sysfini(); (void) close(devnull); pthread_mutexattr_destroy(&nni_mxattr); |
