aboutsummaryrefslogtreecommitdiff
path: root/external/unbound/libunbound/libunbound.c
diff options
context:
space:
mode:
Diffstat (limited to 'external/unbound/libunbound/libunbound.c')
-rw-r--r--external/unbound/libunbound/libunbound.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/external/unbound/libunbound/libunbound.c b/external/unbound/libunbound/libunbound.c
index b3a4c2ba7..a3a1d21a8 100644
--- a/external/unbound/libunbound/libunbound.c
+++ b/external/unbound/libunbound/libunbound.c
@@ -65,6 +65,9 @@
#ifdef HAVE_PTHREAD
#include <signal.h>
#endif
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
#if defined(UB_ON_WINDOWS) && defined (HAVE_WINDOWS_H)
#include <windows.h>
@@ -218,6 +221,12 @@ static void ub_stop_bg(struct ub_ctx* ctx)
ub_thread_join(ctx->bg_tid);
} else {
lock_basic_unlock(&ctx->cfglock);
+#ifndef UB_ON_WINDOWS
+ if(waitpid(ctx->bg_pid, NULL, 0) == -1) {
+ if(verbosity > 2)
+ log_err("waitpid: %s", strerror(errno));
+ }
+#endif
}
}
else {