aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/xlog.c
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2011-03-23 13:30:05 +0000
committerSimon Riggs <simon@2ndQuadrant.com>2011-03-23 13:30:05 +0000
commitb98ac467f5d35970edade4ad65c767fc89059026 (patch)
treef6498bca9ed9f68efde667dd7765baf7e4ea65b9 /src/backend/access/transam/xlog.c
parent856a23018c976794655d6f53b72fb692178fbb27 (diff)
downloadpostgresql-b98ac467f5d35970edade4ad65c767fc89059026.tar.gz
postgresql-b98ac467f5d35970edade4ad65c767fc89059026.zip
Prevent intermittent hang in recovery from bgwriter interaction.
Startup process waited for cleanup lock but when hot_standby = off the pid was not registered, so that the bgwriter would not wake the waiting process as intended.
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r--src/backend/access/transam/xlog.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 306ac058c36..5a585f60d0b 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -49,6 +49,7 @@
#include "storage/latch.h"
#include "storage/pmsignal.h"
#include "storage/predicate.h"
+#include "storage/proc.h"
#include "storage/procarray.h"
#include "storage/reinit.h"
#include "storage/smgr.h"
@@ -6406,6 +6407,7 @@ StartupXLOG(void)
*/
if (InArchiveRecovery && IsUnderPostmaster)
{
+ PublishStartupProcessInformation();
SetForwardFsyncRequests();
SendPostmasterSignal(PMSIGNAL_RECOVERY_STARTED);
bgwriterLaunched = true;