don't use MAKE_PTR/OFFSET for shmem pointers
Since we require every process to map the shared memory region to the same
address, we don't need the MAKE_PTR/OFFSET code that was needed when that
was not the case. This patch makes shared memory pointers just like
regular pointers.
http://archives.postgresql.org/pgsql-general/2007-08/msg01510.php
Kris Jurka
Attachments:
shmem-pointers.patchtext/plain; charset=US-ASCII; name=shmem-pointers.patchDownload+267-289
Kris Jurka <books@ejurka.com> writes:
Since we require every process to map the shared memory region to the same
address, we don't need the MAKE_PTR/OFFSET code that was needed when that
was not the case. This patch makes shared memory pointers just like
regular pointers.
Applied with minor editorialization --- mainly, I converted a couple of
"void *" pointer declarations to more specific types, since it seems to
me the main point of this is to not use nonspecific pointers
unnecessarily.
regards, tom lane
Tom Lane wrote:
Kris Jurka <books@ejurka.com> writes:
Since we require every process to map the shared memory region to the same
address, we don't need the MAKE_PTR/OFFSET code that was needed when that
was not the case. This patch makes shared memory pointers just like
regular pointers.Applied with minor editorialization --- mainly, I converted a couple of
"void *" pointer declarations to more specific types, since it seems to
me the main point of this is to not use nonspecific pointers
unnecessarily.
We now have two very similar doubly-linked list implementations. Should
we take one of them out?
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Alvaro Herrera <alvherre@commandprompt.com> writes:
We now have two very similar doubly-linked list implementations. Should
we take one of them out?
If you're thinking of dllist, it has considerably different implementation
assumptions.
regards, tom lane