aboutsummaryrefslogtreecommitdiff
path: root/src/backend/postmaster/checkpointer.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2012-05-10 14:34:22 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2012-05-10 14:34:53 -0400
commitf40022f1adaeff85b01d98fea38cf5aa16814aa7 (patch)
tree3a5337271306c5df48a23df0e8abc6729c771e92 /src/backend/postmaster/checkpointer.c
parent586d356bc5af1aa61f965f6ba1cbeb1533ec8c99 (diff)
downloadpostgresql-f40022f1adaeff85b01d98fea38cf5aa16814aa7.tar.gz
postgresql-f40022f1adaeff85b01d98fea38cf5aa16814aa7.zip
Make WaitLatch's WL_POSTMASTER_DEATH result trustworthy; simplify callers.
Per a suggestion from Peter Geoghegan, make WaitLatch responsible for verifying that the WL_POSTMASTER_DEATH bit it returns is truthful (by testing PostmasterIsAlive). Then simplify its callers, who no longer need to do that for themselves. Remove weasel wording about falsely-set result bits from WaitLatch's API contract.
Diffstat (limited to 'src/backend/postmaster/checkpointer.c')
-rw-r--r--src/backend/postmaster/checkpointer.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/backend/postmaster/checkpointer.c b/src/backend/postmaster/checkpointer.c
index 7f8ba95c44d..5db60cd5d98 100644
--- a/src/backend/postmaster/checkpointer.c
+++ b/src/backend/postmaster/checkpointer.c
@@ -50,7 +50,6 @@
#include "storage/bufmgr.h"
#include "storage/ipc.h"
#include "storage/lwlock.h"
-#include "storage/pmsignal.h"
#include "storage/proc.h"
#include "storage/shmem.h"
#include "storage/smgr.h"
@@ -581,11 +580,9 @@ CheckpointerMain(void)
/*
* Emergency bailout if postmaster has died. This is to avoid the
- * necessity for manual cleanup of all postmaster children. Note
- * that we mustn't trust the WL_POSTMASTER_DEATH result flag entirely;
- * if it is set, recheck with PostmasterIsAlive before believing it.
+ * necessity for manual cleanup of all postmaster children.
*/
- if ((rc & WL_POSTMASTER_DEATH) && !PostmasterIsAlive())
+ if (rc & WL_POSTMASTER_DEATH)
exit(1);
}
}