pgsql: Clean up latch related code.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Clean up latch related code.
Date: 2017-06-06 23:59:12
Message-ID: E1dIONU-00049Z-0t@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Clean up latch related code.

The larger part of this patch replaces usages of MyProc->procLatch
with MyLatch. The latter works even early during backend startup,
where MyProc->procLatch doesn't yet. While the affected code
shouldn't run in cases where it's not initialized, it might get copied
into places where it might. Using MyLatch is simpler and a bit faster
to boot, so there's little point to stick with the previous coding.

While doing so I noticed some weaknesses around newly introduced uses
of latches that could lead to missed events, and an omitted
CHECK_FOR_INTERRUPTS() call in worker_spi.

As all the actual bugs are in v10 code, there doesn't seem to be
sufficient reason to backpatch this.

Author: Andres Freund
Discussion:
https://postgr.es/m/20170606195321.sjmenrfgl2nu6j63@alap3.anarazel.de
https://postgr.es/m/20170606210405.sim3yl6vpudhmufo@alap3.anarazel.de
Backpatch: -

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9206ced1dc05d3a9cc99faafa22d5d8b16d998d1

Modified Files
--------------
src/backend/access/transam/parallel.c | 4 +--
src/backend/libpq/pqmq.c | 4 +--
src/backend/postmaster/bgworker.c | 4 +--
.../libpqwalreceiver/libpqwalreceiver.c | 13 ++++----
src/backend/replication/logical/launcher.c | 35 +++++++++++++++-------
src/backend/replication/logical/tablesync.c | 12 ++++----
src/backend/replication/logical/worker.c | 10 +++++--
src/backend/storage/lmgr/condition_variable.c | 6 ++--
src/test/modules/worker_spi/worker_spi.c | 2 ++
9 files changed, 56 insertions(+), 34 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Filipe Rosset 2017-06-07 01:40:49 Re: pgsql: Unify SIGHUP handling between normal and walsender backends.
Previous Message Andres Freund 2017-06-06 23:49:46 Re: pgsql: Unify SIGHUP handling between normal and walsender backends.