]> granicus.if.org Git - postgresql/commit
Documentation improvement and minor code cleanups for the latch facility.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Aug 2011 19:30:51 +0000 (15:30 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Aug 2011 19:30:51 +0000 (15:30 -0400)
commit6760a4d4029121981bf3ec24847ddfbacecc070d
treefeb33208524b430e32fefd2c11158235ba1306a6
parent028a0c5a2913f18c954845cc014786912f39fa30
Documentation improvement and minor code cleanups for the latch facility.

Improve the documentation around weak-memory-ordering risks, and do a pass
of general editorialization on the comments in the latch code.  Make the
Windows latch code more like the Unix latch code where feasible; in
particular provide the same Assert checks in both implementations.
Fix poorly-placed WaitLatch call in syncrep.c.

This patch resolves, for the moment, concerns around weak-memory-ordering
bugs in latch-related code: we have documented the restrictions and checked
that existing calls meet them.  In 9.2 I hope that we will install suitable
memory barrier instructions in SetLatch/ResetLatch, so that their callers
don't need to be quite so careful.
src/backend/port/unix_latch.c
src/backend/port/win32_latch.c
src/backend/replication/syncrep.c
src/backend/storage/lmgr/proc.c
src/include/storage/latch.h