On Sat, Oct 27, 2018 at 4:11 PM Andres Freund <and...@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