Be sure to release LogicalRepLauncherLock in DROP SUBSCRIPTION command.

Previously DROP SUBSCRIPTION command forgot to release the lock at all.

Original patches by Kyotaro Horiguchi and Michael Paquier,
but I didn't use them.
Discussion: http://postgr.es/m/20170201.173623.66249355.horiguchi.kyotaro@lab.ntt.co.jp
This commit is contained in:
Fujii Masao 2017-02-04 03:18:13 +09:00
parent 14e9b18fed
commit 39b8cc991f

View File

@ -514,6 +514,8 @@ DropSubscription(DropSubscriptionStmt *stmt)
/* Kill the apply worker so that the slot becomes accessible. */
logicalrep_worker_stop(subid);
LWLockRelease(LogicalRepLauncherLock);
/* Remove the origin tracking if exists. */
snprintf(originname, sizeof(originname), "pg_%u", subid);
originid = replorigin_by_name(originname, true);