Specifications
Operating System Routines
SMP$RELEASE
SMP$RELEASE
Releases all acquisitions of a fork lock or spinlock by the local processor and
makes the lock available for acquisition by other processors.
Module
SPINLOCKS
Macro
FORKUNLOCK, UNLOCK
Input
Location Contents
R0 Fork lock or spinlock index
Output
Location Contents
R0 Fork lock or spinlock index
Synchronization
Upon entry, the local processor must be executing at or above the IPL at which
the lock was originally obtained. This IPL must be greater than IPL$_ASTDEL.
Violations of IPL synchronization in a full-checking multiprocessing environment
result in a SPLIPLLOW bugcheck. At exit, IPL is unchanged and the lock is
released.
Description
The FORKUNLOCK and UNLOCK macros call SMP$RELEASE when the
condition=RESTORE argument is not specified.
SMP$RELEASE first verifies that the local processor owns the specified lock. If
this is not the case, the procedure issues an SPLRELERR bugcheck. Otherwise,
SMP$RELEASE initializes the ownership count of the lock and releases the lock.
3–153