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:
parent
5573d04941
commit
2d30f4fb4f
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user