Move LWLockReleaseAll in WalSndErrorCleanup sooner.
authorRobert Haas <rhaas@postgresql.org>
Mon, 27 Jan 2014 23:29:38 +0000 (18:29 -0500)
committerRobert Haas <rhaas@postgresql.org>
Mon, 27 Jan 2014 23:29:38 +0000 (18:29 -0500)
src/backend/replication/walsender.c

index a8f1504f2418cf378282d6716e4b1996e508557a..76acdfa0a292e9db6aa0167fa451871efff8c042 100644 (file)
@@ -219,6 +219,8 @@ InitWalSender(void)
 void
 WalSndErrorCleanup()
 {
+       LWLockReleaseAll();
+
        if (sendFile >= 0)
        {
                close(sendFile);
@@ -228,9 +230,6 @@ WalSndErrorCleanup()
        if (MyReplicationSlot != NULL)
                ReplicationSlotRelease();
 
-       /* do a minimal amount of cleanup for the !ready_to_stop cases */
-       LWLockReleaseAll();
-
        replication_active = false;
        if (walsender_ready_to_stop)
                proc_exit(0);