Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION
От | Tom Lane |
---|---|
Тема | Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION |
Дата | |
Msg-id | 5857.1456411909@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION ("Shulgin, Oleksandr" <oleksandr.shulgin@zalando.de>) |
Ответы |
Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION
Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION |
Список | pgsql-bugs |
"Shulgin, Oleksandr" <oleksandr.shulgin@zalando.de> writes: > On Wed, Feb 24, 2016 at 10:52 PM, Andres Freund <andres@anarazel.de> wrote: > At the very least ISTM that we have to make pgprocno volatile (or use a >> memory barrier - but we don't have sufficient support for those in the >> older branches), and move the PGPROC/PGXACT lookups after the == -1 >> check. > Use of volatile doesn't change the resulting code dramatically for me. Marking pgprocno volatile is silly. What *is* missing is this: - ProcArrayStruct *arrayP = procArray; + volatile ProcArrayStruct *arrayP = procArray; which corresponds directly to what the problem is: the storage arrayP is pointing at may change asynchronously. regards, tom lane
В списке pgsql-bugs по дате отправления: