diff --git a/pgxn/neon/walproposer.c b/pgxn/neon/walproposer.c index dbc67a24f5..dbd331b1da 100644 --- a/pgxn/neon/walproposer.c +++ b/pgxn/neon/walproposer.c @@ -286,7 +286,6 @@ WalProposerPoll(WalProposer *wp) void WalProposerStart(WalProposer *wp) { - /* Initiate connections to all safekeeper nodes */ for (int i = 0; i < wp->n_safekeepers; i++) { diff --git a/pgxn/neon/walproposer_pg.c b/pgxn/neon/walproposer_pg.c index 55eb8c52ce..6aa3d8fcf2 100644 --- a/pgxn/neon/walproposer_pg.c +++ b/pgxn/neon/walproposer_pg.c @@ -1270,13 +1270,8 @@ WalSndLoop(WalProposer *wp) { XLogRecPtr flushPtr; - /* Clear any already-pending wakeups */ - ResetLatch(MyLatch); - for (;;) { - CHECK_FOR_INTERRUPTS(); - XLogBroadcastWalProposer(wp); WalProposerPoll(wp); } @@ -1807,6 +1802,8 @@ walprop_pg_wait_event_set(WalProposer *wp, long timeout, Safekeeper **sk, uint32 late_cv_trigger = ConditionVariableCancelSleep(); #endif + CHECK_FOR_INTERRUPTS(); + /* * Process config if requested. This restarts walproposer if safekeepers * list changed. Don't do that for sync-safekeepers because quite probably