On Mon, 5 Feb 2001, Tom Lane wrote:

> Myron Scott <[EMAIL PROTECTED]> writes:
> > May I suggest that watiHolder and waitLock pointers
> > in the proc struct in proc.h be changed from direct
> > pointers to SHMEM_OFFSET.  They are both shared memory
> > structures in a shared memory structure and it would
> > be more consistent to make these SHMEM_OFFSET.  Direct
> > pointers will be a problem if another process which is
> > not the result of a fork tries to attach to the shared memory.
> 
> I don't really foresee that that's an issue --- any process
> we might conceivably want to have reading the shmem would be
> spawned by the postmaster anyway.  I've actually been thinking
> about ripping out the shmem-offset-to-pointer-and-back conversions
> on the grounds of code simplification, readability, reliability
> (the compiler cannot detect whether you are casting a reconverted
> SHMEM_OFFSET to the wrong pointer type), and speed.
> 
>                       regards, tom lane
> 

Thanks for looking into this.  I ran into this while working on a threaded
version of Postgres.  I start a postmaster so I can use psql
and then start the multithreaded Postgres which attaches to the shared mem
created by the postmaster.  This is not a big deal but maybe a note in the
header would be helpful to future tinkerers.


Thanks,

Myron Scott
[EMAIL PROTECTED]


Reply via email to