X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fsrc%2Fdeliver.c;h=139ee837424c76d644a42e0089a976aa65a9cf57;hb=60272099eb6529d6d748c7dd04412b35c09f37e2;hp=351a02b0ad7b7cff767a7cc3e02c3a4e9b59e209;hpb=57cc27852af9019c0c423bcfde0165e698a0ce54;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/deliver.c b/src/src/deliver.c index 351a02b0a..139ee8374 100644 --- a/src/src/deliver.c +++ b/src/src/deliver.c @@ -8469,12 +8469,15 @@ if (cutthrough.fd >= 0 && cutthrough.callout_hold_only) if ((pid = fork()) < 0) goto fail; - else if (pid == 0) /* child */ + else if (pid == 0) /* child: fork again to totally dosconnect */ { + if ((pid = fork())) + _exit(pid ? EXIT_FAILURE : EXIT_SUCCESS); smtp_proxy_tls(big_buffer, big_buffer_size, pfd[0], 5*60); exim_exit(0); } + waitpid(pid, NULL, 0); (void) close(channel_fd); /* release the client socket */ channel_fd = pfd[1]; }