[prev in list] [next in list] [prev in thread] [next in thread]
List: postgresql-general
Subject: Re: [HACKERS] [BUGS] Missing error message on missing ssl-key-files
From: Magnus Hagander <magnus () hagander ! net>
Date: 2007-01-31 9:58:59
Message-ID: 20070131095859.GB26625 () svr2 ! hagander ! net
[Download RAW message or body]
On Tue, Jan 30, 2007 at 11:45:24AM -0500, Tom Lane wrote:
> Magnus Hagander <magnus@hagander.net> writes:
> > But I guess maybe the added check has to be not just (!syslogger_started)
> > but (!syslogger_started && is_postmaster)?
>
> That would at least get you out of the problem of having to transmit the
> syslogger_started flag to the backends...
Here's a patch that does just this.
//Magnus
["win32_log.patch" (text/plain)]
Index: src/backend/postmaster/postmaster.c
===================================================================
RCS file: c:/prog/cvsrepo/pgsql/pgsql/src/backend/postmaster/postmaster.c,v
retrieving revision 1.516
diff -c -r1.516 postmaster.c
*** src/backend/postmaster/postmaster.c 29 Jan 2007 20:17:40 -0000 1.516
--- src/backend/postmaster/postmaster.c 30 Jan 2007 23:10:20 -0000
***************
*** 202,209 ****
BgWriterPID = 0,
AutoVacPID = 0,
PgArchPID = 0,
! PgStatPID = 0,
! SysLoggerPID = 0;
/* Startup/shutdown state */
#define NoShutdown 0
--- 202,209 ----
BgWriterPID = 0,
AutoVacPID = 0,
PgArchPID = 0,
! PgStatPID = 0;
! pid_t SysLoggerPID = 0; /* Needs to be accessed from elog.c */
/* Startup/shutdown state */
#define NoShutdown 0
Index: src/backend/utils/error/elog.c
===================================================================
RCS file: c:/prog/cvsrepo/pgsql/pgsql/src/backend/utils/error/elog.c,v
retrieving revision 1.181
diff -c -r1.181 elog.c
*** src/backend/utils/error/elog.c 20 Jan 2007 21:40:25 -0000 1.181
--- src/backend/utils/error/elog.c 30 Jan 2007 23:16:44 -0000
***************
*** 76,81 ****
--- 76,83 ----
sigjmp_buf *PG_exception_stack = NULL;
+ extern pid_t SysLoggerPID;
+
/* GUC parameters */
PGErrorVerbosity Log_error_verbosity = PGERROR_VERBOSE;
char *Log_line_prefix = NULL; /* format for extra log line info */
***************
*** 1693,1701 ****
* anything going there and write it to the eventlog instead.
*
* If stderr redirection is active, it's ok to write to stderr because
! * that's really a pipe to the syslogger process.
*/
! if ((!Redirect_stderr || am_syslogger) && pgwin32_is_service())
write_eventlog(edata->elevel, buf.data);
else
#endif
--- 1695,1704 ----
* anything going there and write it to the eventlog instead.
*
* If stderr redirection is active, it's ok to write to stderr because
! * that's really a pipe to the syslogger process. Unless we're in the
! * postmaster, and the syslogger process isn't started yet.
*/
! if ((!Redirect_stderr || am_syslogger || (!IsUnderPostmaster && SysLoggerPID==0)) \
&& pgwin32_is_service()) write_eventlog(edata->elevel, buf.data);
else
#endif
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic