Mark duped fds CLOEXEC

This commit is contained in:
Ian Gulliver
2016-03-01 20:13:39 -08:00
parent 6889a749be
commit 89397afa8d

View File

@@ -1,4 +1,5 @@
#include <assert.h> #include <assert.h>
#include <fcntl.h>
#include <netdb.h> #include <netdb.h>
#include <pthread.h> #include <pthread.h>
#include <stdlib.h> #include <stdlib.h>
@@ -65,7 +66,7 @@ void asyncaddrinfo_init(size_t threads) {
assert(asyncaddrinfo_threads); assert(asyncaddrinfo_threads);
for (size_t i = 0; i < asyncaddrinfo_num_threads; i++) { for (size_t i = 0; i < asyncaddrinfo_num_threads; i++) {
int subfd = dup(fds[0]); int subfd = fcntl(fds[0], F_DUPFD_CLOEXEC, 0);
assert(subfd >= 0); assert(subfd >= 0);
assert(!pthread_create(&asyncaddrinfo_threads[i], NULL, asyncaddrinfo_main, (void *) (intptr_t) subfd)); assert(!pthread_create(&asyncaddrinfo_threads[i], NULL, asyncaddrinfo_main, (void *) (intptr_t) subfd));
} }