2-28 IBM Informix OnLine Database Server Administrator’s Guide
User Processes and Critical Sections
User Processes and Critical Sections
A critical section is a section of OnLine code that comprises a set of disk
modifications that must be performed as a single unit; either all of the modifi-
cations must occur or none can occur. OnLine designates critical sections to
maintain physical consistency in a way that is analogous to the way that
transactions maintain logical consistency.
Important: If any user process dies while it is in a critical section, OnLine initiates
an abort by executing an immediate shutdown.
The abort is required to maintain the physical and logical consistency of
OnLine data. An OnLine user process in a critical section is probably holding
shared-memory resources needed to modify data. If the user process dies
prematurely, it might be unable to release all these resources.
Within the space of a critical section, it is impossible for OnLine to determine
which shared-memory resources should be released and which changes
should be undone to return all data to a consistent point. Therefore, if a user
process dies while it is in a critical section, OnLine immediately takes action
to return all data to the last known consistent point.
Fast recovery is the procedure OnLine uses to quickly regain physical and
logical data consistency up to and including the last record in the logical log.
OnLine initiates fast recovery indirectly by starting an immediate shutdown.
After immediate shutdown, the subsequent startup initiates fast recovery
and returns OnLine data to physical and logical consistency. (Refer to
page 4-39 for further information about fast recovery.)