HP OpenVMS Systems Documentation

Content starts here

HP OpenVMS Programming Concepts Manual

Previous Contents Index

Part 2
Part 2 Interrupts and Condition Handling
Chapter 8
8 Using Asynchronous System Traps
     8.1     Overview of AST Routines
     8.2     Declaring and Queuing ASTs
         8.2.1         Reentrant Code and ASTs
                The Call Frame
         8.2.2         Shared Data Access with Readers and Writers
         8.2.3         Shared Data Access and AST Synchronization
         8.2.4         User ASTs and Asynchronous Completions
     8.3     Common Mistakes in Asynchronous Programming
     8.4     Using System Services for AST Event and Time Delivery
     8.5     Access Modes for AST Execution
     8.6     Calling an AST
     8.7     Delivering ASTs
         8.7.1         The AST Service Routine
         8.7.2         Conditions Affecting AST Delivery
         8.7.3         Kernel Threads AST Delivery (Alpha and I64Only)
                Outer Mode (User and Supervisor) Nonserial Delivery of ASTs
                Inner Mode (Executive and Kernel) AST Delivery
     8.8     ASTs and Process Wait States
         8.8.1         Event Flag Waits
         8.8.2         Hibernation
         8.8.3         Resource Waits and Page Faults
     8.9     Examples of Using AST Services
Chapter 9
9 Condition-Handling Routines and Services
     9.1     Overview of Run-Time Errors
     9.2     Overview of the OpenVMS Condition Handling Facility
         9.2.1         Condition-Handling Terminology
         9.2.2         Functions of the Condition Handling Facility
     9.3     Exception Conditions
         9.3.1         Conditions Caused by Exceptions
         9.3.2         Exception Conditions
         9.3.3         Arithmetic Exceptions
         9.3.4         Unaligned Access Traps (Alpha and I64 Only)
     9.4     How Run-Time Library Routines Handle Exceptions
         9.4.1         Exception Conditions Signaled from Mathematics Routines (VAX Only)
                Integer Overflow and Floating-Point Overflow
                Floating-Point Underflow
         9.4.2         System-Defined Arithmetic Condition Handlers
     9.5     Condition Values
         9.5.1         Return Status Convention
                Testing Returned Condition Values
                Using the $VMS_STATUS_SUCCESS Macro
                Testing SS$_NOPRIV and SS$_EXQUOTA Condition Values
         9.5.2         Modifying Condition Values
     9.6     Exception Dispatcher
     9.7     Argument List Passed to a Condition Handler
     9.8     Signaling
         9.8.1         Generating Signals with LIB$SIGNAL and LIB$STOP
         9.8.2         Signal Argument Vector
         9.8.3         VAX Mechanism Argument Vector (VAX Only)
         9.8.4         Alpha Mechanism Argument Vector (Alpha Only)
         9.8.5         I64 Mechanism Vector Format
         9.8.6         Multiple Active Signals
     9.9     Types of Condition Handlers
         9.9.1         Default Condition Handlers
         9.9.2         Interaction Between Default and User-Supplied Handlers
     9.10     Types of Actions Performed by Condition Handlers
         9.10.1         Unwinding the Call Stack
         9.10.2         GOTO Unwind Operations (Alpha and I64 Only)
     9.11     Displaying Messages
         9.11.1         Chaining Messages
         9.11.2         Logging Error Messages to a File
                Creating a Running Log of Messages Using SYS$PUTMSG
                Suppressing the Display of Messages in the Running Log
         9.11.3         Using the Message Utility to Signal and Display User-Defined Messages
                Creating the Message Source File
                        Specifying the Facility
                        Specifying the Severity
                        Specifying Condition Names and Messages
                        Specifying Variables in the Message Text
                        Compiling and Linking the Messages
                        Linking the Message Object Module
                        Accessing the Message Object Module from Multiple Programs
                        Modifying a Message Source Module
                        Accessing Modified Messages Without Relinking
         9.11.4         Signaling User-Defined Values and Messages with Global and Local Symbols
                Signaling with Global Symbols
                Signaling with Local Symbols
                Specifying FAO Parameters
     9.12     Writing a Condition Handler
         9.12.1         Continuing Execution
         9.12.2         Resignaling
         9.12.3         Unwinding the Call Stack
         9.12.4         Example of Writing a Condition Handler
                Signal Array
                Mechanism Array
                Comparing the Signaled Condition with an Expected Condition
                Exiting from the Condition Handler
                Returning Control to the Program
         9.12.5         Example of Condition-Handling Routines
     9.13     Debugging a Condition Handler
     9.14     Run-Time Library Condition-Handling Routines
         9.14.1         RTL Jacket Handlers (Alpha and I64 Only)
         9.14.2         Converting a Floating-Point Fault to a Floating-Point Trap (VAX Only)
         9.14.3         Changing a Signal to a Return Status
         9.14.4         Changing a Signal to a Stop
         9.14.5         Matching Condition Values
         9.14.6         Correcting a Reserved Operand Condition (VAX Only)
         9.14.7         Decoding the Instruction That Generated a Fault (VAX Only)
     9.15     Exit Handlers
         9.15.1         Establishing an Exit Handler
         9.15.2         Writing an Exit Handler
         9.15.3         Debugging an Exit Handler
         9.15.4         Example of Exit Handler

Previous Next Contents Index