Allgemeines
Anwendungsgebiet: | Distributed-Lock-Manager (DLM); siehe "Distributed-Lock-Manager (DLM)" |
Makrotyp: | S-Typ, MF-Format 3: C-/D-/L-/M-/E-Form; siehe "S-Typ-Makroaufrufe" |
Makrobeschreibung
Der Makro LKLSB generiert das Layout des Lock-Status-Blocks (LSB). Der LSB ist ein Teil des Benutzer-Adressraums, der vom Benutzer für eine asynchrone Lock-Anforderung generiert werden muss. Dieser Benutzer-Adressraum muss für den DLM zugreifbar sein, bis die erzeugte Lock-Anforderung beendet wird.
Die Beendigung der asynchronen Lock-Anforderung veranlasst, dass ein entsprechender Returncode in den LSB geschrieben wird. Es wird die Benutzer-definierte Ereignis-Methode für diese Lock-Anforderung gestartet.
Um entscheiden zu können, ob der Returncode im LSB vom DLM geliefert wurde, muss der Benutzer den LSB initialisieren, indem er den Returncode mit dem Wert des Returncodes beim Aufruf LKLSB MF=L
initialisiert.
Makroaufrufformat und Operandenbeschreibung
LKLSB |
MF=C / D / L / M ,PARAM=<var: pointer> / (reg: pointer>) ,PREFIX=N / p ,MACID=LDL / mac |
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. PREFIX, MACID und PARAM) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
Bei der C-Form, D-Form oder M-Form des Makroaufrufs kann ein Präfix PREFIX und bei der C-Form oder M-Form zusätzlich eine Macid MACID angegeben werden.
Initialisierung des Lock-Status-Blocks
LKLSB MF=L 1 MFTST MF=L,PREFIX=N,MACID=LDL,ALIGN=F, C 1 DMACID=LDL,SUPPORT=(D,C,M,L) 2 DS 0F 1 FHDR MF=L,UNIT=247,FUNCT=6,VERS=1,RC=-1 2 DS 0A 2 DS 0XL8 GENERAL OPERAND LIST HEADER 2 DC AL2(247) FUNCTION UNIT NUMBER 2 DC AL1(6) FUNCTION NUMBER 2 DC AL1(1) FUNCTION INTERFACE VERSION NUMBER 2 DC A(-1) Returncode 1 * FHDR 1 DC A(0) LOID 1 DC A(0) OWID 1 DC CL16' ' VAL