"Hiroshi Inoue" <[EMAIL PROTECTED]> writes:
>> Why? What difference do you see in the nature of the critical sections?
>> They all look the same to me: hold off cancel/die response.
> I've thought that the main purpose of CRIT_SECTION is to
> force redo recovery for any errors during the CRIT_SECTION
> to complete the critical operation e.g. bt_split().
How could it force redo? Rollback, maybe, but that should happen
anyway.
> Note that elog(ERROR/FATAL) is changed to elog(STOP) if Critical
> SectionCount > 0.
Not in current sources ;-).
Perhaps Vadim will say that I broke his error scheme, but if so it's
his own fault for not documenting such delicate code at all. I believe
he's out of town this weekend, so let's wait till he gets back and then
discuss it some more. Perhaps there is a need to distinguish xlog-
related critical sections from other ones, or perhaps not.
regards, tom lane