Re: Resetting PGPROC atomics in ProcessInit()
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Robert Haas <robertmhaas@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-10-27T14:36:45Z
Lists: pgsql-hackers
On Sat, Oct 27, 2018 at 4:11 PM Andres Freund <andres@anarazel.de> wrote: > > Hi, > > I just noticed, while working on a patch adding things to PGPROC, that > the group clearning patches for the proc array and clog reset atomics in > InitProcess(). > > I'm not a big fan of that, because it means that it's not safe to look > at the atomics of backends that aren't currently in use. Is there any > reason to not instead initialize them in InitProcGlobal() and just > assert in InitProcess() that they're 0? > It seems the code written has followed a natural practice i.e PGPROC members are initialized in InitProcess and ProcGlobal members (like procArrayGroupFirst) are initialized in InitProcGlobal. For your use case, can't you look at procArrayGroupFirst? If not, then I think we can do what you are saying as I don't see a problem in initializing them in InitProcGlobal. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Fix the initialization of atomic variables introduced by the
- d4d9f21b64d4 11.2 landed
- a53bc135fb07 12.0 landed
-
Fix the initialization of atomic variable introduced by the
- 1a8bde490c98 9.6.12 landed