Re: FATAL: could not reattach to shared memory (Win32) - Mailing list pgsql-general

From Tom Lane
Subject Re: FATAL: could not reattach to shared memory (Win32)
Date
Msg-id 1462.1187971009@sss.pgh.pa.us
Whole thread Raw
In response to Re: FATAL: could not reattach to shared memory (Win32)  (Gregory Stark <stark@enterprisedb.com>)
Responses Re: FATAL: could not reattach to shared memory (Win32)  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: FATAL: could not reattach to shared memory (Win32)  (Gregory Stark <stark@enterprisedb.com>)
Re: FATAL: could not reattach to shared memory (Win32)  (Bruce Momjian <bruce@momjian.us>)
List pgsql-general
Gregory Stark <stark@enterprisedb.com> writes:
> "Trevor Talbot" <quension@gmail.com> writes:
>> I gather postgres depends on it being at the same address, and fixing that
>> isn't trivial?

> I haven't been following the rest of the thread so I'm not sure if this is
> important. But no, fixing that should be relatively trivial as there are
> already some configurations where it's not the case (the EXEC_BACKEND case I
> believe). The rest of the system uses a shared memory base pointer and
> references everything relative to that.

That hasn't been the case for quite a few years, and we're not going back.
The pointer-to-offset-and-back gymnastics that that required were
utterly destructive to code readability and maintainability, mainly
because if everything stored in shmem data structures is an "offset"
then you can't get any useful error checking from the compiler about how
you are using the fields.  It's like decreeing that every pointer
must be declared "void *" and cast to something else when it's used.

There are a few old bits of code that still use MAKE_PTR/MAKE_OFFSET,
but I think it's mostly just that no one's bothered to rewrite the code
for SHM_QUEUE linked lists.  The vast majority of our shmem structures
use regular pointers, and have for years.

            regards, tom lane

pgsql-general by date:

Previous
From: "Phoenix Kiula"
Date:
Subject: Can tsearch do some basic text mining
Next
From: Dimitri Fontaine
Date:
Subject: Re: [OT - sorta] How to extract a substring using Regex