ITAGAKI Takahiro wrote:
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> > > I have a question about SHM_QUEUE. Why do we need this component?
> > It's a hangover from Berkeley days that no one has felt a need to remove yet.
> >
> > > Then, can we replace SHM_QUEUE by a pointer-based double-linked list?
> > What exactly will you gain by it? I'm not inclined to fool with that
> > code for trivial reasons ...
>
> Hmmm, my next question is whether we should use SHM_QUEUE or not in
> new modules. The point deluded me when I wrote DSM and I wondered
> the autovacuum-multiworkers patch uses SHM_QUEUE.
Good question. I used SHM_QUEUE because I just believed the comments
that said that ShmemBase would be different on each process, and so
using plain pointers would not work. I admit I didn't even try. So if
the list can be implemented in a different way, I have no problem with
changing that code -- but then, if there's no practical problem with it
I feel uninclined to continue messing with the patch until it's
committed.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support