[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]


B.12.2 AST delivery

When a User Mode AST becomes deliverable to a DECthreads process, the OpenVMS scheduler makes an upcall to DECthreads, passing the information that is required to deliver the AST (service routine address, argument, and target user thread ID). DECthreads stores this information and queues the AST to be delivered to the appropriate user thread. That thread is made runnable (if it is not already), and executes the AST routine the next time it is scheduled to run. This means the following things:

In addition to per-thread ASTs, there are also User Mode ASTs that are directed to the process as a whole, or to no thread in particular, or to a thread that has since terminated. These "process" ASTs are queued to the initial thread, making the thread runnable in a fashion similar to per-thread ASTs. They are executed in the context of the initial thread, for the following reasons:


Note
In OpenVMS Version 7.0, all ASTs are directed to the process as a whole. In future releases, AST delivery will be made per thread, as individual services are updated.

The following implications must be considered for application development:



[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]