Open System Services Programmer's Guide
Table 14 Guardian Process-Management Procedures (continued)
OSS NotesGuardian Procedure
When the process loop-timer expires for an OSS process,
a SIGTIMEOUT signal is generated.
SETLOOPTIMER
Sets the process loop-timer value of the calling process.
SIGACTION_INIT_
Establishes the initial state of signal handling for the calling
process.
SIGACTION_RESTORE_
Restores the signal-handling state stored by a call to
SIGACTION_SUPPLANT_.
SIGACTION_SUPPLANT_
Saves the current signal-handling state and allows a
subsystem to take over signal handling temporarily.
SIGJMP_MASKSET_
Saves the process signal mask in a jump buffer.
OSS Process Pairs
Beginning with the J06.14 and H06.25 RVUs, the NonStop Operating System supports process
pairs in which the processes operate in the Open System Services (OSS) environment. The
PROCESS_SPAWN_ procedure can create an OSS backup process. This feature provides the
NonStop characteristics of process pairs in the OSS environment.
NOTE: Though it is possible to create an OSS process pair on older RVUs, the feature is
unsupported prior to the T9050 SPRs that participate in the J06.14 and H06.25 RVUs.
OSS Process Pairs Overview
An OSS process pair consists of two processes, in different processors (CPUs), identified by the
same Guardian process name and working together to provide a single facility from the point of
view of their clients. One process is called primary and performs the work of the application. The
other process is called backup and shadows the primary. Upon failure of the primary process, or
its processor, the backup process takes over. The primary periodically sends state (checkpoints) to
the backup, so that the backup has the necessary information to continue the work. The operating
system automatically reroutes client requests to the backup if the primary fails.
An OSS process pair is created when a single named process creates a backup process. The
creating process becomes the primary. The backup and primary processes must be in different
processors. Both processes have the same Guardian process name. Only a named OSS process
can create an OSS backup, and it can do so only by calling the PROCESS_SPAWN_ procedure.
An OSS process cannot create a Guardian backup process, and vice versa.
For information about the PROCESS_SPAWN_ procedure, see the Guardian Procedure Calls
Reference Manual.
OSS Process Pair Considerations
Only the active-backup model is available in an OSS process pair. Passive backup is not
supported—in Guardian or OSS—for C/C++ programs using the normal heap. Therefore, an
OSS process pair does not use the CHECKMONITOR procedure or procedures in the
CHECKPOINT... family. Design and implementation of an active-backup protocol and determination
of when to checkpoint a particular state is application-specific.
Being an OSS process allows the members of the pair to use OSS-specific features, such as pthreads
and OSS semaphores. (For pthreads, the application developer must devise appropriate
active-backup strategy for a multithreaded process.) Note that on NonStop, pthreads is a user-mode
158 Managing Processes