"Qingqing Zhou" <zhouqq@cs.toronto.edu> writes:
> The original comment of why we are safe without protection of critical
> section is confusing.
I thought your version was even more so :-(. I've applied the attached
patch instead.
regards, tom lane
Index: xlog.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v
retrieving revision 1.187
diff -c -r1.187 xlog.c
*** xlog.c 17 Apr 2005 03:04:29 -0000 1.187
--- xlog.c 23 Apr 2005 18:48:45 -0000
***************
*** 4925,4931 ****
*
* This I/O could fail for various reasons. If so, we will fail to
* complete the checkpoint, but there is no reason to force a system
! * panic. Accordingly, exit critical section while doing it.
*/
END_CRIT_SECTION();
--- 4925,4934 ----
*
* This I/O could fail for various reasons. If so, we will fail to
* complete the checkpoint, but there is no reason to force a system
! * panic. Accordingly, exit critical section while doing it. (If
! * we are doing a shutdown checkpoint, we probably *should* panic ---
! * but that will happen anyway because we'll still be inside the
! * critical section established by ShutdownXLOG.)
*/
END_CRIT_SECTION();