diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2017-06-01 23:05:47 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2017-06-01 23:16:20 -0400 |
commit | 6812330f1cc95f258ffe4ce7d56bdd56efbd9fde (patch) | |
tree | 7f48cb78927ea2534827976231fc90fc8af02325 /src/backend/replication/logical/launcher.c | |
parent | 2d460179baa8744e9e2a183a5121306596c53fba (diff) | |
download | postgresql-6812330f1cc95f258ffe4ce7d56bdd56efbd9fde.tar.gz postgresql-6812330f1cc95f258ffe4ce7d56bdd56efbd9fde.zip |
Reorganize logical replication worker disconnect code
Move the walrcv_disconnect() calls into the before_shmem_exit handler.
This makes sure the call is always made even during exit by signal, it
saves some duplicate code, and it makes the logic more similar to
walreceiver.c.
Author: Petr Jelinek <petr.jelinek@2ndquadrant.com>
Diffstat (limited to 'src/backend/replication/logical/launcher.c')
-rw-r--r-- | src/backend/replication/logical/launcher.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index b956052014b..63d903ac021 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -614,7 +614,13 @@ logicalrep_launcher_onexit(int code, Datum arg) static void logicalrep_worker_onexit(int code, Datum arg) { + /* Disconnect gracefully from the remote side. */ + if (wrconn) + walrcv_disconnect(wrconn); + logicalrep_worker_detach(); + + ApplyLauncherWakeup(); } /* SIGTERM: set flag to exit at next convenient time */ |