Re: Should pointers to PGPROC be volatile-qualified?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Brian Hurt <bhurt(at)janestcapital(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Should pointers to PGPROC be volatile-qualified?
Date: 2007-09-05 19:16:47
Message-ID: 21312.1189019807@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Brian Hurt <bhurt(at)janestcapital(dot)com> writes:
> Note that all sorts of weirdnesses are possible when you have shared
> mutable state between multiple different threads.

Yeah. In the majority of places this isn't a big problem because
access to shared memory looks like

LWLockAcquire(some_lock);
... mess with shared state ...
LWLockRelease(some_lock);

and as long as the LWLock functions are extern and not inlineable
all is well. But we do need to be more careful in places where
we're violating that coding rule, and the various stuff that looks
at or changes xid and xmin is violating it.

What I'm inclined to do for now is put "volatile" into those places in
procarray.c where there seems to be a risk.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-09-05 19:27:50 Re: Oddity with psql \d and pg_table_is_visible
Previous Message Tom Lane 2007-09-05 19:10:22 Re: loose ends in lazy-XID-assigment patch