aboutsummaryrefslogtreecommitdiff
path: root/src/platform/posix/posix_thread.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-07-06 14:45:53 -0700
committerGarrett D'Amore <garrett@damore.org>2017-07-06 14:45:53 -0700
commit3da27f7c9c1077f285f53b1e80a1befffe104770 (patch)
treedad07400dced42b061d036c9dd86aaf501592dfc /src/platform/posix/posix_thread.c
parent82c70435ec9be9c607de4fbd62d4de9ae7d7c081 (diff)
downloadnng-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.c12
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);