The following code initializes a shared memory resident
lock. For the callable service, see
shmem_lock (BPX1SLK, BPX4SLK) — Shared memory lock service.
AMODE 31 callers use
BPX1SLK (shmem_lock) example.
XR R15,R15 R15 = 0
STG R15,LOCKATTRADDR No lock attribute Data
SPACE ,
CALL BPX4SLK, shmem_lock +
(=A(SLK_INIT), INPUT: Function Code (Init) +
=A(SLK_NORMAL), INPUT: Request Type (Normal) +
=A(SLK_SHARED), INPUT: Lock Type (Shared) +
LOCKADDR, INPUT: ->user lockword (shared mem+
LOCKATTRADDR, INPUT: Address of lock attr area +
LOCKTOKENADDR, INPUT: Address of Lock Token +
RETVAL, Return value: >=0 or -1 +
RETCODE, Return code +
RSNCODE), Reason code +
MF=(E,PLIST) ----------------------------------
L R15,RETVAL Load return value
C R15,=F'-1' Test for -1 return
BE PSEUDO Branch on error