982bd253df
Update exim-exiscan to 4.43_28nb1 Add back patch to ensure fork() is not called with closed fd 0, 1, or 2
31 lines
995 B
Text
31 lines
995 B
Text
$NetBSD: patch-ag,v 1.3 2004/11/01 17:25:25 abs Exp $
|
|
|
|
--- src/daemon.c.orig Wed May 5 11:08:35 2004
|
|
+++ src/daemon.c
|
|
@@ -756,6 +756,7 @@ daemon_go(void)
|
|
{
|
|
int *listen_sockets = NULL;
|
|
int listen_socket_count = 0;
|
|
+int fd;
|
|
ip_address_item *addresses = NULL;
|
|
|
|
/* If any debugging options are set, turn on the D_pid bit so that all
|
|
@@ -1082,9 +1083,17 @@ if (background_daemon)
|
|
{
|
|
log_close_all(); /* Just in case anything was logged earlier */
|
|
search_tidyup(); /* Just in case any were used in reading the config. */
|
|
- close(0); /* Get rid of stdin/stdout/stderr */
|
|
+ /* Get rid of stdin/stdout/stderr
|
|
+ close(0);
|
|
close(1);
|
|
close(2);
|
|
+ */
|
|
+ /* Instead of closing, dup them to /dev/null */
|
|
+ fd= open( "/dev/null", O_RDWR );
|
|
+ dup2( fd, 0 );
|
|
+ dup2( fd, 1 );
|
|
+ dup2( fd, 2 );
|
|
+ if( fd > 2 ) close( fd );
|
|
log_stderr = NULL; /* So no attempt to copy paniclog output */
|
|
|
|
/* If the parent process of this one has pid == 1, we are re-initializing the
|