diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2012-10-05 17:13:07 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2012-10-05 17:21:12 +0300 |
commit | fd5942c18f977a36fec66a8d1281092805f2a55e (patch) | |
tree | 722501422b9f52f412729096be8f49688212474c /src/include | |
parent | 1997f34db4687e671690ed054c8f30bb501b1168 (diff) | |
download | postgresql-fd5942c18f977a36fec66a8d1281092805f2a55e.tar.gz postgresql-fd5942c18f977a36fec66a8d1281092805f2a55e.zip |
Use the regular main processing loop also in walsenders.
The regular backend's main loop handles signal handling and error recovery
better than the current WAL sender command loop does. For example, if the
client hangs and a SIGTERM is received before starting streaming, the
walsender will now terminate immediately, rather than hang until the
connection times out.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/replication/walsender.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/include/replication/walsender.h b/src/include/replication/walsender.h index bb85ccf7b22..78e8558299c 100644 --- a/src/include/replication/walsender.h +++ b/src/include/replication/walsender.h @@ -19,7 +19,6 @@ /* global state */ extern bool am_walsender; extern bool am_cascading_walsender; -extern volatile sig_atomic_t walsender_shutdown_requested; extern volatile sig_atomic_t walsender_ready_to_stop; extern bool wake_wal_senders; @@ -27,7 +26,9 @@ extern bool wake_wal_senders; extern int max_wal_senders; extern int replication_timeout; -extern void WalSenderMain(void) __attribute__((noreturn)); +extern void InitWalSender(void); +extern void exec_replication_command(const char *query_string); +extern void WalSndErrorCleanup(void); extern void WalSndSignals(void); extern Size WalSndShmemSize(void); extern void WalSndShmemInit(void); |