On 2017-06-06 12:53:21 -0700, Andres Freund wrote:
> On 2017-06-06 15:48:42 -0400, Robert Haas wrote:
> > 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.
>
> FWIW, I'd misremembered some code here, and we actually reach the
> function initializing the shared latch, even in single user mode.
>
>
> > 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.
>
> Nevertheless this should be changed. Will do.
Here's the patch for that, also addressing some issues I found while
updating those callsites (separate thread started, too).
- Andres
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers