]> granicus.if.org Git - postgresql/commit
Remove most volatile qualifiers from xlog.c
authorAndres Freund <andres@anarazel.de>
Mon, 22 Sep 2014 21:35:08 +0000 (23:35 +0200)
committerAndres Freund <andres@anarazel.de>
Mon, 22 Sep 2014 21:35:08 +0000 (23:35 +0200)
commit6ba4ecbf477e0b25dd7bde1b0c4e07fc2da19348
treec206c338c2dac7026d5010d8b070b8f5911fbe07
parentdf4077cda2eae3eb4a5cf387da0c1e7616e73204
Remove most volatile qualifiers from xlog.c

For the reason outlined in df4077cda2e also remove volatile qualifiers
from xlog.c. Some of these uses of volatile have been added after
noticing problems back when spinlocks didn't imply compiler
barriers. So they are a good test - in fact removing the volatiles
breaks when done without the barriers in spinlocks present.

Several uses of volatile remain where they are explicitly used to
access shared memory without locks. These locations are ok with
slightly out of date data, but removing the volatile might lead to the
variables never being reread from memory. These uses could also be
replaced by barriers, but that's a separate change of doubtful value.
src/backend/access/transam/xlog.c