pgsql: Use asynchronous connect API in libpqwalreceiver

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: pgsql-committers@postgresql.org
Date: 2017-03-03T14:17:44Z
Lists: pgsql-hackers
Use asynchronous connect API in libpqwalreceiver

This makes the connection attempt from CREATE SUBSCRIPTION and from
WalReceiver interruptable by the user in case the libpq connection is
hanging.  The previous coding required immediate shutdown (SIGQUIT) of
PostgreSQL in that situation.

From: Petr Jelinek <petr.jelinek@2ndquadrant.com>
Tested-by: Thom Brown <thom@linux.com>

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/1e8a850094478a2036891fa3d4ce769bce411ee3

Modified Files
--------------
src/backend/postmaster/pgstat.c                    |  4 +-
.../libpqwalreceiver/libpqwalreceiver.c            | 49 +++++++++++++++++++++-
src/include/pgstat.h                               |  2 +-
3 files changed, 50 insertions(+), 5 deletions(-)


Commits

  1. Fix WaitEventSetWait() to handle write-ready waits properly on Windows.

  2. Rewrite async-connection loop in libpqwalreceiver.c, once again.

  3. Use asynchronous connect API in libpqwalreceiver