aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/replication/walsender.c2
-rw-r--r--src/include/replication/walsender_private.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index 37a030b5f5e..38f7a3f1c36 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -837,7 +837,7 @@ WalSndLoop(void)
if (pq_is_send_pending())
wakeEvents |= WL_SOCKET_WRITEABLE;
- else
+ else if (MyWalSnd->sendKeepalive)
{
WalSndKeepalive(output_message);
/* Try to flush pending output to the client */
diff --git a/src/include/replication/walsender_private.h b/src/include/replication/walsender_private.h
index 66234cd8b59..45cd7444cdf 100644
--- a/src/include/replication/walsender_private.h
+++ b/src/include/replication/walsender_private.h
@@ -37,6 +37,7 @@ typedef struct WalSnd
XLogRecPtr sentPtr; /* WAL has been sent up to this point */
bool needreload; /* does currently-open file need to be
* reloaded? */
+ bool sendKeepalive; /* do we send keepalives on this connection? */
/*
* The xlog locations that have been written, flushed, and applied by