Commit 3993bd8e authored by Tom Lane's avatar Tom Lane

PostmasterIsAlive test really ought to be in the inner loop for safety.

parent 03f96364
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.21 2006/05/30 13:30:49 momjian Exp $ * $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.22 2006/05/30 17:08:14 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -352,12 +352,16 @@ pgarch_ArchiverCopyLoop(void) ...@@ -352,12 +352,16 @@ pgarch_ArchiverCopyLoop(void)
* some backend will add files onto the list of those that need archiving * some backend will add files onto the list of those that need archiving
* while we are still copying earlier archives * while we are still copying earlier archives
*/ */
while (PostmasterIsAlive(true) && pgarch_readyXlog(xlog)) while (pgarch_readyXlog(xlog))
{ {
int failures = 0; int failures = 0;
for (;;) for (;;)
{ {
/* Abandon processing if we notice our postmaster has died */
if (!PostmasterIsAlive(true))
return;
if (pgarch_archiveXlog(xlog)) if (pgarch_archiveXlog(xlog))
{ {
/* successful */ /* successful */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment