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

From Bruce Momjian
Subject Re: FATAL: could not reattach to shared memory (Win32)
Date
Msg-id 200803121828.m2CISrY22049@momjian.us
Whole thread Raw
In response to Re: FATAL: could not reattach to shared memory (Win32)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Added to TODO:

* Remove use of MAKE_PTR and MAKE_OFFSET macros

  http://archives.postgresql.org/pgsql-general/2007-08/msg01510.php


---------------------------------------------------------------------------

Tom Lane wrote:
> 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
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-general by date:

Previous
From: Glyn Astill
Date:
Subject: Re: postgre vs MySQL
Next
From: "Jonah H. Harris"
Date:
Subject: Re: [pgsql-www] PostgreSQL user documentation wiki open for business