Обсуждение: 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
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