diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2016-11-30 12:00:00 -0500 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2016-12-01 20:23:28 -0500 |
commit | 597a87ccc9a6fa8af7f3cf280b1e24e41807d555 (patch) | |
tree | f869e194ae83b03b7174ea6c8a26565265bc893e /src/backend/replication/walreceiverfuncs.c | |
parent | b999c247a5df4110a2ae20b01f0f686840169875 (diff) |
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 <petr@2ndquadrant.com>
Diffstat (limited to 'src/backend/replication/walreceiverfuncs.c')
-rw-r--r-- | src/backend/replication/walreceiverfuncs.c | 6 |
1 files changed, 3 insertions, 3 deletions
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); } /* |