Fix signal handling in logical replication workers
Peter Eisentraut <peter_e@gmx.net>
Fix signal handling in logical replication workers The logical replication worker processes now use the normal die() handler for SIGTERM and CHECK_FOR_INTERRUPTS() instead of custom code. One problem before was that the apply worker would not exit promptly when a subscription was dropped, which could lead to deadlocks. Author: Petr Jelinek <petr.jelinek@2ndquadrant.com> Reported-by: Masahiko Sawada <sawada.mshk@gmail.com>
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/replication/logical/launcher.c | modified | +8 −8 |
| src/backend/replication/logical/tablesync.c | modified | +4 −6 |
| src/backend/replication/logical/worker.c | modified | +31 −3 |
| src/backend/tcop/postgres.c | modified | +5 −0 |
| src/include/replication/logicalworker.h | modified | +2 −0 |
| src/include/replication/worker_internal.h | modified | +0 −4 |