Table of Contents

DMTAKE Abstract

Statistics

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

Synopsis

Module

       DMTAKE

Function

        THE DMTAKE MODULE CONTAINS THE SUPR SERVICE WHICH
        SUPPLIES TASK PROGRAMS WITH THE RECEIVER INTERFACE
        TO GIVE REQUESTS  ISSUED BY OTHER TASKS.  A SINGLE
        CALL TO  DMTAKE FIRST RESPONDS TO  THE PREVIOUSLY
        SUPPLIED  GIVE REQUEST,  AND THEN  SUPPLIES A  NEW
        GIVE REQUEST TO THE TASK FOR ITS PROCESSING.

Attributes

       REUSABLE, NON-INTERRUPTABLE

Operation

       DMTAKE   BEGINS   PROCESSING  BY   SUSPENDING  THE
       CALLING  TASK'S   EXECUTION  BY  THE   FREEZE  SVC
       FUNCTION. THE GIVE REQUEST QUEUE IS SCANNED FOR AN
       ELEMENT  REFLECTING   A  PENDING  RESPONSE   TO  A
       PREVIOUSLY  RECEIVED  GIVE  REQUEST.  IF  SUCH  AN
       ELEMENT IS FOUND, THE  RESPONSE BUFFER SUPPLIED BY
       THE  CALLER  IS  MOVED TO  THE  SENDER'S  RESPONSE
       BUFFER, AND THE SENDER'S GIVE TABLE IS POSTED WITH
       THE CODE SUPPLIED BY THE RESPONDING TASK. THE GIVE
       REQUEST QUEUE IS THEN SCANNED AGAIN FOR AN ELEMENT
       REFLECTING  A PREVIOUSLY  UNACCEPTED GIVE  REQUEST
       ADDRESSED TO THE CALLING TASK.  IF SUCH AN ELEMENT
       IS FOUND, THE REQUEST BUFFER  SUPPLIED BY THE TASK
       ISSUING THE GIVE  REQUEST  IS MOVED TO  THE DMTAKE
       CALLER'S REQUEST  BUFFER. THE  RETURN CODE  IS SET
       ACCORDING TO  THE CONDITIONS WHICH  OCCURED DURING
       THE  DMTAKE REQUEST  PROCESSING,  AND  CONTROL  IS
        RETURNED TO THE DISPATCHER.

Calls to Other Routines

       DMTQRQ -   TO RESERVE AND RELEASE SUP QUEUE ELEMENTS
       DMTPST -   TO POST RESPONSE COMPLETION