postgresql/src/backend/postmaster
Tom Lane e82d9e6283 Adjust elog.c so that elog(FATAL) exits (including cases where ERROR is
promoted to FATAL) end in exit(1) not exit(0).  Then change the postmaster to
allow exit(1) without a system-wide panic, but not for the startup subprocess
or the bgwriter.  There were a couple of places that were using exit(1) to
deliberately force a system-wide panic; adjust these to be exit(2) instead.
This fixes the problem noted back in July that if the startup process exits
with elog(ERROR), the postmaster would think everything is hunky-dory and
proceed to start up.  Alternative solutions such as trying to run the entire
startup process as a critical section seem less clean, primarily because of
the fact that a fair amount of startup code is shared by all postmaster
children in the EXEC_BACKEND case.  We'd need an ugly special case somewhere
near the head of main.c to make it work if it's the child process's
responsibility to determine what happens; and what's the point when the
postmaster already treats different children differently?
2006-11-21 00:49:55 +00:00
..
autovacuum.c Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
bgwriter.c Adjust elog.c so that elog(FATAL) exits (including cases where ERROR is 2006-11-21 00:49:55 +00:00
fork_process.c Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
Makefile Integrate autovacuum functionality into the backend. There's still a 2005-07-14 05:13:45 +00:00
pgarch.c Clean up some misleading references to %p being a full path, per Simon. 2006-11-10 22:32:20 +00:00
pgstat.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
postmaster.c Adjust elog.c so that elog(FATAL) exits (including cases where ERROR is 2006-11-21 00:49:55 +00:00
syslogger.c In a Windows backend, don't build src/port/pgsleep.c's version of 2006-07-16 20:17:04 +00:00