From 597a87ccc9a6fa8af7f3cf280b1e24e41807d555 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 30 Nov 2016 12:00:00 -0500 Subject: Use latch instead of select() in walreceiver Replace use of poll()/select() by WaitLatchOrSocket(), which is more portable and flexible. Also change walreceiver to use its procLatch instead of a custom latch. From: Petr Jelinek --- src/backend/replication/walreceiverfuncs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/backend/replication/walreceiverfuncs.c') diff --git a/src/backend/replication/walreceiverfuncs.c b/src/backend/replication/walreceiverfuncs.c index 5f6e423f1f6..01111a4c12b 100644 --- a/src/backend/replication/walreceiverfuncs.c +++ b/src/backend/replication/walreceiverfuncs.c @@ -64,7 +64,7 @@ WalRcvShmemInit(void) MemSet(WalRcv, 0, WalRcvShmemSize()); WalRcv->walRcvState = WALRCV_STOPPED; SpinLockInit(&WalRcv->mutex); - InitSharedLatch(&WalRcv->latch); + WalRcv->latch = NULL; } } @@ -279,8 +279,8 @@ RequestXLogStreaming(TimeLineID tli, XLogRecPtr recptr, const char *conninfo, if (launch) SendPostmasterSignal(PMSIGNAL_START_WALRECEIVER); - else - SetLatch(&walrcv->latch); + else if (walrcv->latch) + SetLatch(walrcv->latch); } /* -- cgit v1.2.3