The original comment of why we are safe without protection of critical
section is confusing.


Index: xlog.c
===================================================================
RCS file: /projects/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      21 Apr 2005 10:12:01 -0000
***************
*** 4924,4931 ****
         * buffers and commit-log buffers are flushed to disk.
         *
         * 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();

--- 4924,4934 ----
         * buffers and commit-log buffers are flushed to disk.
         *
         * This I/O could fail for various reasons.  If so, we will fail to
!        * complete the checkpoint, there is no problem if this occurs in
!        * ordinary situtations but it could be a problem if we are shutdown
!        * database. However, we increase the CritSectionCount in
ShutdownXLOG()
!        * already, so it is ok.  Accordingly, exit critical section while
!        * doing it.
         */
        END_CRIT_SECTION();




---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to