diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 3883a451225..69f37c02ad7 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -37,7 +37,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.505.2.7 2009/12/02 17:41:39 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.505.2.8 2010/04/01 20:12:42 heikki Exp $ * * NOTES * @@ -1107,7 +1107,7 @@ pmdaemonize(void) ExitPostmaster(1); } #endif - i = open(NULL_DEV, O_RDWR, 0); + i = open(DEVNULL, O_RDWR, 0); dup2(i, 0); dup2(i, 1); dup2(i, 2); diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 5ac5b6edffa..430e1c82949 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -18,7 +18,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.29.2.4 2007/09/22 18:19:24 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.29.2.5 2010/04/01 20:12:42 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -180,7 +180,7 @@ SysLoggerMain(int argc, char *argv[]) */ if (redirection_done) { - int fd = open(NULL_DEV, O_WRONLY, 0); + int fd = open(DEVNULL, O_WRONLY, 0); /* * The closes might look redundant, but they are not: we want to be @@ -190,9 +190,12 @@ SysLoggerMain(int argc, char *argv[]) */ close(fileno(stdout)); close(fileno(stderr)); - dup2(fd, fileno(stdout)); - dup2(fd, fileno(stderr)); - close(fd); + if (fd != -1) + { + dup2(fd, fileno(stdout)); + dup2(fd, fileno(stderr)); + close(fd); + } } /* Syslogger's own stderr can't be the syslogPipe, so set it back to diff --git a/src/include/c.h b/src/include/c.h index 61400a7f682..b91f58bf603 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/c.h,v 1.214.2.1 2007/01/11 02:40:12 momjian Exp $ + * $PostgreSQL: pgsql/src/include/c.h,v 1.214.2.2 2010/04/01 20:12:43 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -748,7 +748,11 @@ typedef NameData *Name; #include #endif -/* These are for things that are one way on Unix and another on NT */ +/* + * This only works on Unix, not on Windows! This isn't used in PostgreSQL + * anymore, use the platform-aware DEVNULL instead. This is kept here just + * in case a 3rd party module uses it. + */ #define NULL_DEV "/dev/null" /*