From 5a4f7638419bb358a0bb82e5c0921a9ea9aa40b9 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 24 Aug 2009 18:09:37 +0000
Subject: [PATCH] Small correction to previous patch: we shouldn't
 ReleasePostmasterChildSlot for a dead_end child, because we didn't
 AssignPostmasterChildSlot.

---
 src/backend/postmaster/postmaster.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 59a614aae2b..cabd61fc0f3 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.588 2009/08/24 17:23:02 alvherre Exp $
+ *	  $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.589 2009/08/24 18:09:37 tgl Exp $
  *
  * NOTES
  *
@@ -3024,7 +3024,8 @@ BackendStartup(Port *port)
 		/* in parent, fork failed */
 		int			save_errno = errno;
 
-		(void) ReleasePostmasterChildSlot(bn->child_slot);
+		if (!bn->dead_end)
+			(void) ReleasePostmasterChildSlot(bn->child_slot);
 		free(bn);
 		errno = save_errno;
 		ereport(LOG,
-- 
GitLab