postgresql/src/backend
Tom Lane dab421d2f0 Seems I was too optimistic in supposing that sinval's maxMsgNum could be
read and written without a lock.  The value itself is atomic, sure, but on
processors with weak memory ordering it's possible for a reader to see the
value change before it sees the associated message written into the buffer
array.  Fix by introducing a spinlock that's used just to read and write
maxMsgNum.  (We could do this with less overhead if we recognized a concept
of "memory access barrier"; is it worth introducing such a thing?  At the
moment probably not --- I can't measure any clear slowdown from adding the
spinlock, so this solution is probably fine.)  Per buildfarm results.
2008-06-20 00:24:53 +00:00
..
access Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
bootstrap Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
catalog Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
commands Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
executor Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
lib Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
libpq Use error message wordings for permissions checks on .pgpass and SSL private 2008-03-31 02:43:14 +00:00
main Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
nodes Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
optimizer Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
parser Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
po Translation updates 2008-01-31 18:04:52 +00:00
port Add $PostgreSQL$ markers to a lot of files that were missing them. 2008-05-17 01:28:26 +00:00
postmaster Rewrite the sinval messaging mechanism to reduce contention and avoid 2008-06-19 21:32:56 +00:00
regex Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
rewrite Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
snowball Implement a few changes to how shared libraries and dynamically loadable 2008-04-07 14:15:58 +00:00
storage Seems I was too optimistic in supposing that sinval's maxMsgNum could be 2008-06-20 00:24:53 +00:00
tcop Rearrange ALTER TABLE syntax processing as per my recent proposal: the 2008-06-15 01:25:54 +00:00
tsearch Fix a few places that were non-multibyte-safe in tsearch configuration file 2008-06-19 16:52:24 +00:00
utils Rewrite the sinval messaging mechanism to reduce contention and avoid 2008-06-19 21:32:56 +00:00
common.mk We need to rebuild objfiles.txt when one of the subdirectories' objfiles.txt 2008-03-17 18:24:56 +00:00
Makefile Enable probes to work with Mac OS X Leopard and other OSes that will 2008-03-17 19:44:41 +00:00
nls.mk Add a new ereport auxiliary function errdetail_log(), which works the same as 2008-03-24 18:08:47 +00:00