Browse Prior Art Database

Intertask Communication Facilities

IP.com Disclosure Number: IPCOM000074188D
Original Publication Date: 1971-Mar-01
Included in the Prior Art Database: 2005-Feb-23
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Harrison, WH: AUTHOR

Abstract

In many parts of a computer operating system, a program is required which allows computer job requests to be manipulated.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Intertask Communication Facilities

In many parts of a computer operating system, a program is required which allows computer job requests to be manipulated.

The intertask communication facilities provide for communication via named work queues. A task may indicate that it wants to "listen" to a named queue. More than one task can "listen" to the same queue. A task may place a "Message" (which might be a request for a service) on a queue and elect either to wait to be allowed to run again by those listening to the queue or to proceed without waiting. All listeners to the queue are told that a message has been placed on it, and all receive a copy of the message. All tasks after the first to retrieve a given message are informed that they were not the first. A task which is waiting for acknowledgement is allowed to run after all listeners have released it (either explicitly or implicitly). If a task is ABENDed, all messages sent by it are erased except those explicitly declared to be retained.

The intertask communication facility may be implemented by macroinstructions. Each may have its unique program label, and operate as follows:

A DISABLE macro indicates that the issuing task no longer wishes to listen for messages placed on the specified queue. Any messages currently on that queue are treated as though the task issuing the DISABLE had never issued an ENABLE for that queue. If the DISABLE is issued with no parameters, all queued ENABLED by the issuing task are DISABLED. Its operands include (1) a "qname" which is the address of the string containing the name of the queue, (2) a "qname-length" which is the length of the qname. If omitted it defaults to a length attribute of the qname, (3) a "step" which specifies that the scope of the qname is only within the jobstep, or a "system" which specifies that the name is a system wide parameter. The return codes for the macro are (1)successful,
(2)invalid parameters, or (3) queue not ENABLED.

The ENABLE macro indicates that the issuing task wishes to listen for messages placed on the specified queue. Whenever a message is placed on the queue, a specified event control block is posted. Any messages alrea...