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. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/4e15a4db5e65e43271f8d20750d6500ab12632d0 Modified Files -------------- src/backend/port/unix_latch.c | 166 ++++++++++++++++++------------------- src/backend/port/win32_latch.c | 49 ++++++------ src/backend/replication/syncrep.c | 20 +++-- src/backend/storage/lmgr/proc.c | 2 +- src/include/storage/latch.h | 70 +++++++++++++++- 5 files changed, 184 insertions(+), 123 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
