On Fri, Jun 2, 2017 at 3:24 PM, Andres Freund <andres@anarazel.de> wrote:
> Latches work in single user mode, it's just that the new code for some
> reason uses uninitialized memory as the latch. As I pointed out above,
> the new code really should just use MyLatch instead of
> MyProc->procLatch.
We seem to have accumulated quite a few instance of that.
[rhaas pgsql]$ git grep MyLatch | wc -l 116
[rhaas pgsql]$ git grep 'MyProc->procLatch' | wc -l 33
Most of the offenders are in src/backend/replication, but there are
some that are related to parallelism as well (bgworker.c, pqmq.c,
parallel.c, condition_variable.c). Maybe we (you?) should just go and
change them all. I don't think using MyLatch instead of
MyProc->procLatch has become automatic for everyone yet.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company