Re: Resetting PGPROC atomics in ProcessInit()
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-11-08T11:08:25Z
Lists: pgsql-hackers
Attachments
- fix_atomic_init_group_clear_v1.patch (application/octet-stream) patch v1
On Sun, Nov 4, 2018 at 6:30 AM Robert Haas <robertmhaas@gmail.com> wrote: > > On Sat, Oct 27, 2018 at 6:41 AM Andres Freund <andres@anarazel.de> wrote: > > 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? If they're not, we'd be in deep > > trouble anyway, no? > > I think you are correct. I think it would be better in general for > InitProcess() to Assert() rather than reinitializing. > Okay, changed the code as per Andres's and your suggestion. Do you think the attached change makes sense? I think we should backpatch this. -- 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