Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)
Additional signals defined by HP include:
Abnormal terminationSIGABEND
NonStop operating system limits trapSIGLIMIT
Uncorrectable memory errorSIGMEMERR
Memory manager read errorSIGMEMMGR
No memory availableSIGNOMEM
Stack overflowSIGSTK
Process loop timeoutSIGTIMEOUT
When a receiving process is terminated with saveabend, a file named ZZSAnnnn (the saveabend
file, also known as a snapshot file) is created in the current directory of the terminated program if
possible. This file is equivalent to the core file created in UNIX environments.
Using the wait() and waitpid() Functions
The wait() and waitpid() function calls cannot be used to wait for the death of Guardian
processes from the OSS environment. In the OSS environment, wait() and waitpid() return
status information for processes that terminate as a result of Guardian procedure calls in addition
to the status information specified by the POSIX.1 standard. Status is also returned for processes
that terminate abnormally resulting from a situation specific to the NonStop system architecture,
such as the failure of the child process’s processor while the parent process continues to execute.
Using HP Extensions
After a program is ported to the OSS environment, you can take advantage of the extensions
offered in the OSS programming environment, such as:
• HP extensions to the standard functions (see “Using OSS Function Calls” (page 122))
• API interoperability (see Chapter 5 (page 71) and the API interoperability tables in the Open
System Services Programmer’s Guide)
• Guardian C run-time routines in mixed-module programs (see Chapter 5 (page 71))
• Embedded SQL (see the SQL/MP Programming Manual for C or the SQL/MX Programming
Manual for C and COBOL)
• HP extension functions and Guardian procedure calls (discussed in this subsection)
HP extension functions give application programs access to a richer set of features than those
available through the standard open functions. These features include Guardian procedure calls,
interoperable I/O routines, process-control functions, functions that support OSS ACLs and other
security features like restricted-access filesets, and functions that, in addition to supporting smaller
files, support OSS files larger than approximately 2 gigabytes.
Guardian Procedure Calls for Interoperability
The Guardian process control, filename mapping, and user information procedure calls that support
interoperability between OSS and Guardian file systems are:
Runs an OSS processPROCESS_SPAWN_
Completes one previously initiated I/O operation for a Guardian file
or returns ready information for one OSS file. Supports Guardian files,
FILE_COMPLETE_
OSS regular files, sockets, FIFOs, and OSSTTY (terminal process must
be running on a system running G06.27 and later G-series RVUs,
H06.06 and later H-series RVUs, or J-series RVUs).
Enables a set of Guardian and OSS files for completion by subsequent
calls to the FILE_COMPLETE_ procedure. Supports Guardian files, OSS
FILE_COMPLETE_SET_
Using HP Extensions 129