diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c new file mode 100644 index db346e6..db01d06 *** a/src/backend/replication/walsender.c --- b/src/backend/replication/walsender.c *************** WalSndWakeup(void) *** 3008,3013 **** --- 3008,3014 ---- for (i = 0; i < max_wal_senders; i++) { Latch *latch; + WalSndState state; WalSnd *walsnd = &WalSndCtl->walsnds[i]; /* *************** WalSndWakeup(void) *** 3016,3024 **** */ SpinLockAcquire(&walsnd->mutex); latch = walsnd->latch; SpinLockRelease(&walsnd->mutex); ! if (latch != NULL) SetLatch(latch); } } --- 3017,3026 ---- */ SpinLockAcquire(&walsnd->mutex); latch = walsnd->latch; + state = walsnd->state; SpinLockRelease(&walsnd->mutex); ! if (latch != NULL && state != WALSNDSTATE_BACKUP) SetLatch(latch); } }