Allgemeines
Anwendungsgebiet: | Intertaskkommunikation; siehe "Intertaskkommunikation (ITC)", Kommunikation; siehe "Kommunikation (Programm, Anwender, System)" |
Makrotyp: | R-Typ; siehe "R-Typ-Makroaufrufe" |
Makrobeschreibung
Mit CLCOM beendet das aufrufende Programm die Teilnahme an der Intertaskkommunikation (sein ITC-Name wird von der Teilnehmerliste gestrichen).
Makroaufrufformat und Operandenbeschreibung
CLCOM |
NOKEEP / KEEP / (1) |
NOKEEP
legt fest, dass die Empfangswarteschlange aufgelöst wird. Die eventuell noch vorhandenen Nachrichten können nicht mehr angefordert werden.
KEEP
legt fest, dass die Empfangswarteschlange bestehen bleibt. Bereits eingetroffene Nachrichten können nach dem CLCOM-Aufruf noch angefordert werden.
(1)
Register R1 enthält die Anfangsadresse des Operandenfeldes. Das Operandenfeld muss 4 Byte lang sein, an einer Wortgrenze beginnen und folgenden Inhalt haben:
X'04000000' entspricht NOKEEP oder
C'KEEP' entspricht KEEP
Funktionsweise
Mit CLCOM beendet die Task des Aufrufers ihre Teilnahme an der Intertaskkommunikation (ITC). Sobald ein Programm CLCOM NOKEEP aufgerufen hat, kann es keine Nachrichten mehr abschicken, und auch keine mehr empfangen. Die Nachrichten, die noch in seiner Empfangswarteschlange stehen, werden gelöscht.
Nach dem Aufruf CLCOM KEEP wird die Empfangswarteschlange nicht aufgelöst. Das Programm kann noch Nachrichten absenden und diejenigen anfordern, die bereits eingetroffen sind. Neue Nachrichten werden nicht mehr übermittelt. War beim Aufruf CLCOM KEEP die Empfangswarteschlange leer, so wird wie bei CLCOM NOKEEP verfahren.
Der Aufruf CLCOM NOKEEP veranlasst das System, den ITC-Namen des Aufrufers aus der Teilnehmerliste zu streichen. Danach steht der ITC-Name wieder zur Verfügung. Der Aufrufer kann sich - wenn gewünscht - der ITC wieder anschließen (mit einem beliebigen noch nicht vergebenen ITC-Namen). Wenn der letzte ITC-Teilnehmer den Aufruf CLCOM NOKEEP gibt, wird die ITC geschlossen (das System löst die Kommunikationstabelle auf).
Hinweis
Wird der Operand NOKEEP weggelassen (Standardwert soll gelten), aber in diese Zeile eine Bemerkung geschrieben, dann führt das System die Funktion CLCOM KEEP aus.
Rückinformation und Fehleranzeigen
R15:
+---------------+ | | | | | | | | | | | |a|a| +---------------+
Über die Ausführung des Makros CLCOM wird im rechtsbündigen Byte des Registers R15 ein Returncode übergeben.
X'aa' | Erläuterung |
X'00' | Die ITC-Teilnahme ist beendet und die Empfangswarteschlange ist aufgelöst. |
X'04' | Fehler in der Operandenangabe. Die ITC-Teilnahme ist nicht beendet. |
X'08' | Die Task des Aufrufers ist kein ITC-Teilnehmer. |
X'0C' | Die Empfangswarteschlange enthält noch Nachrichten. |