Table of Contents

DMTASY Abstract

Statistics

Type ASSEMBLE
Source Lines : 317
Fixes Applied : 0
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [Unmodified]

Synopsis

Module

       DMTASY

Function

        DMTASY  IS  A SUPERVISOR  SERVICE  ROUTINE  MODULE
        WHICH  INITIATES AND TERMINATES  ASYNCHRONOUS EXIT
        REQUESTS  FOR  TASK  PROGRAMS.  ASYNCHRONOUS  EXIT
        REQUESTS FOR ASYNCHRONOUS I/O INTERRUPT,  EXTERNAL
        INTERRUPT, AND ALERT EXIT REQUESTS ARE HANDLED  BY
        THIS ROUTINE.

Attributes

       REUSABLE

Operation

       DMTASY BEGINS BY UNCONDITIONALLY SUSPENDING THE
       CALLING TASK'S EXECUTION WITH A FREEZE SVC.  FOR AN
       INITIATE EXIT REQUEST, THE APPROPRIATE QUEUE IS
       SCANNED FOR AN EXISTING SIMILAR REQUEST FOR THE SAME
       TASK.  IF NONE IS FOUND, A SUPERVISOR STATUS QUEUE
       ELEMENT IS GOTTEN BY A CALL TO DMTQRQ, THE NEW EXIT
       ELEMENT IS BUILT FROM THE SUPPLIED INFORMATION, AND
       IT IS QUEUED ON THE APPROPRIATE CHAIN.
       FOR CLOCK COMPARATOR REQUESTS, THE NEW REQUEST IS
       QUEUED IN THE APPROPRIATE PLACE IN THE QUEUE. THE
       EXTERNAL QUEUE IS ORDERED IN THE FOLLOWING WAY:

        1.   CLOCK COMPARATOR INTERRUPTS IN ASCENDING CLOCK VALUE
             ORDER.
        2.   ALL OTHER EXTERNAL REQUESTS.

       IF THE NEW REQUEST IS NOW THE LOWEST CLOCK REQUEST,
       ITS CLOCK VALUE IS SET IN THE CLOCK COMPARATOR.

       IF AN ELEMENT IS FOUND AND A TERMINATE REQUEST IS BEING
       MADE, THE ELEMENT IS DEQUEUED AND RETURNED TO THE FREEQ.
       IF THE RETURNED ELEMENT REPRESENTS THE ACTIVE CLOCK
       COMPARATOR, THE CLOCK COMPARATOR IS SET TO ALL F'S.

       NOTE:

       THE EXTERNAL INTERRUPT QUEUE IS MAINTAINED IN THE
       FOLLOWING ORDER:

       . CLOCK COMPARATOR REQUESTS IN ASCENDING CLOCK ORDER.
         THE FIRST CLOCK COMPARATOR ENTRY REPRESENTS THE
         CLOCK VALUE WHICH HAS BEEN SET (UNLESS NONE HAS BEEN
         REQUESTED, IN WHICH CASE THE CLOCK COMPARATOR IS FF'S)

       . ALL OTHER EXTERNAL INTERRUPT REQUESTS IN ANY ORDER.

       CLOCK COMPARATOR EXIT REQUESTS ARE INITIATED BY THIS
       ROUTINE. THEY ARE TERMINATED BY EITHER A TERMINATE
       REQUEST TO THIS ROUTINE OR BY THE OCCURENCE OF THE
       INTERRUPT.

Calls to Other Routines

       DMTQRQ -   TO RESERVE AND RELEASE SUP QUEUE ELEMENTS