1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-15 23:24:37 +03:00

s4-dns-ex: use autoclose on the dns child pipe

I'm hoping this will fix an occasional segfault I've noticed where
epoll still calls events on a closed fde

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andrew Tridgell 2010-03-05 10:43:34 +11:00
parent 5573d04941
commit 2d30f4fb4f

View File

@ -67,7 +67,6 @@ static int dns_ex_destructor(struct dns_ex_state *state)
int status;
kill(state->child, SIGTERM);
close(state->child_fd);
if (waitpid(state->child, &status, WNOHANG) == 0) {
kill(state->child, SIGKILL);
waitpid(state->child, &status, 0);
@ -369,7 +368,6 @@ static void pipe_handler(struct tevent_context *ev, struct tevent_fd *fde,
} else {
ret = -1;
}
close(state->child_fd);
if (waitpid(state->child, &status, WNOHANG) == 0) {
kill(state->child, SIGKILL);
waitpid(state->child, &status, 0);
@ -498,6 +496,7 @@ struct composite_context *resolve_name_dns_ex_send(TALLOC_CTX *mem_ctx,
close(fd[1]);
return c;
}
tevent_fd_set_auto_close(state->fde);
state->child = fork();
if (state->child == (pid_t)-1) {