Index: src/backend/access/transam/xact.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/access/transam/xact.c,v
retrieving revision 1.291
diff -c -c -r1.291 xact.c
*** src/backend/access/transam/xact.c	13 May 2010 11:39:30 -0000	1.291
--- src/backend/access/transam/xact.c	29 Jun 2010 18:33:47 -0000
***************
*** 1028,1034 ****
  	if (XactSyncCommit || forceSyncCommit || haveNonTemp)
  	{
  		/*
! 		 * Synchronous commit case.
  		 *
  		 * Sleep before flush! So we can flush more than one commit records
  		 * per single fsync.  (The idea is some other backend may do the
--- 1028,1034 ----
  	if (XactSyncCommit || forceSyncCommit || haveNonTemp)
  	{
  		/*
! 		 * Synchronous commit case:
  		 *
  		 * Sleep before flush! So we can flush more than one commit records
  		 * per single fsync.  (The idea is some other backend may do the
***************
*** 1054,1060 ****
  	else
  	{
  		/*
! 		 * Asynchronous commit case.
  		 *
  		 * Report the latest async commit LSN, so that the WAL writer knows to
  		 * flush this commit.
--- 1054,1065 ----
  	else
  	{
  		/*
! 		 * Asynchronous commit case:
! 		 *
! 		 * This enables possible committed transaction loss in the case of a
! 		 * postmaster crash because WAL buffers are left unwritten.
! 		 * Ideally we could issue the WAL write without the fsync, but
! 		 * some wal_sync_methods do not allow separate write/fsync.
  		 *
  		 * Report the latest async commit LSN, so that the WAL writer knows to
  		 * flush this commit.
