Re: Spinlock can be released twice in procsignal.c

From: Maxim Orlov <orlovmg(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, "Maksim(dot)Melnikov" <m(dot)melnikov(at)postgrespro(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>
Subject: Re: Spinlock can be released twice in procsignal.c
Date: 2025-02-26 06:57:45
Message-ID: CACG=ezbScO5O2CTZYy-Rqs-VHQ_f3aaRWL6VQZpyjC4uMVVDoA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 26 Feb 2025 at 07:56, Michael Paquier <michael(at)paquier(dot)xyz> wrote:

>
> This fix is not correct. No system function calls (well basically
> most of them) or even more no PostgreSQL-specific calls should happen
> while holding a spinlock. elog() is a good example of what not to do.
> One example: imagine a palloc failure while holding this spinlock in
> this elog().

Indeed. PFA the correct one.

--
Best regards,
Maxim Orlov.

Attachment Content-Type Size
v2-0001-Avoid-double-spinlock-release.patch application/octet-stream 1.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message ego alter 2025-02-26 07:00:48 Re: support virtual generated column not null constraint
Previous Message Michael Paquier 2025-02-26 06:37:10 Re: [BUG]: the walsender does not update its IO statistics until it exits