hp.com home products and services support and drivers solutions how to buy
cd-rom home
End of Jump to page title
HP OpenVMS systems
documentation

Jump to content


HP OpenVMS Programming Concepts Manual

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
             8.2.1.1             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)
             8.7.3.1             Outer Mode (User and Supervisor) Nonserial Delivery of ASTs
             8.7.3.2             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)
             9.4.1.1             Integer Overflow and Floating-Point Overflow
             9.4.1.2             Floating-Point Underflow
         9.4.2         System-Defined Arithmetic Condition Handlers
     9.5     Condition Values
         9.5.1         Return Status Convention
             9.5.1.1             Testing Returned Condition Values
             9.5.1.2             Using the $VMS_STATUS_SUCCESS Macro
             9.5.1.3             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
             9.11.2.1             Creating a Running Log of Messages Using SYS$PUTMSG
             9.11.2.2             Suppressing the Display of Messages in the Running Log
         9.11.3         Using the Message Utility to Signal and Display User-Defined Messages
             9.11.3.1             Creating the Message Source File
                 9.11.3.1.1                 Specifying the Facility
                 9.11.3.1.2                 Specifying the Severity
                 9.11.3.1.3                 Specifying Condition Names and Messages
                 9.11.3.1.4                 Specifying Variables in the Message Text
                 9.11.3.1.5                 Compiling and Linking the Messages
                 9.11.3.1.6                 Linking the Message Object Module
                 9.11.3.1.7                 Accessing the Message Object Module from Multiple Programs
                 9.11.3.1.8                 Modifying a Message Source Module
                 9.11.3.1.9                 Accessing Modified Messages Without Relinking
         9.11.4         Signaling User-Defined Values and Messages with Global and Local Symbols
             9.11.4.1             Signaling with Global Symbols
             9.11.4.2             Signaling with Local Symbols
             9.11.4.3             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
             9.12.4.1             Signal Array
             9.12.4.2             Mechanism Array
             9.12.4.3             Comparing the Signaled Condition with an Expected Condition
             9.12.4.4             Exiting from the Condition Handler
             9.12.4.5             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