Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION

Поиск
Список
Период
Сортировка
От Shulgin, Oleksandr
Тема Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION
Дата
Msg-id CACACo5SKaGwErY5NLcf9oSomdDZXo8rgRM-OFGA7oR+G6U+WGA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
On Thu, Feb 25, 2016 at 3:51 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> "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.
>

Right, this makes a lot more sense.

--
Alex

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #13985: Segmentation fault on PREPARE TRANSACTION
Следующее
От: Ramesh Rajamanickam
Дата:
Сообщение: Query-Sending mail from PostgresSQL