Re: Refactoring backend fork+exec code

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tristan Partin <tristan(at)neon(dot)tech>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Subject: Re: Refactoring backend fork+exec code
Date: 2023-11-30 23:36:13
Message-ID: 3df4b075-fb15-4e35-8981-10ed29aef208@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 30/11/2023 22:26, Andres Freund wrote:
> On 2023-11-30 01:36:25 +0200, Heikki Linnakangas wrote:
>> From a96b6e92fdeaa947bf32774c425419b8f987b8e2 Mon Sep 17 00:00:00 2001
>> From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
>> Date: Thu, 30 Nov 2023 00:01:25 +0200
>> Subject: [PATCH v3 1/7] Refactor CreateSharedMemoryAndSemaphores
>>
>> For clarity, have separate functions for *creating* the shared memory
>> and semaphores at postmaster or single-user backend startup, and
>> for *attaching* to existing shared memory structures in EXEC_BACKEND
>> case. CreateSharedMemoryAndSemaphores() is now called only at
>> postmaster startup, and a new AttachSharedMemoryStructs() function is
>> called at backend startup in EXEC_BACKEND mode.
>
> I assume CreateSharedMemoryAndSemaphores() is still called during crash
> restart?

Yes.

> I wonder if it shouldn't split three ways:
> 1) create
> 2) initialize
> 3) attach

Why? What would be the difference between create and initialize phases?

--
Heikki Linnakangas
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-11-30 23:51:35 Re: PostgreSql: Canceled on conflict out to old pivot
Previous Message Heikki Linnakangas 2023-11-30 23:35:09 Re: PostgreSql: Canceled on conflict out to old pivot