Locking Functions for Concurrency Control

PSL includes two built-in functions for enforcing concurrency control:
lock() and unlock(). These functions are typically used to linearize
accesses by different PSL parameters, commands, and processes to
shared data structures. These shared data structures include the object
hierarchy accessed by the PSL set() and get() functions and external
resources such as files.
All PSL processes attempting to linearize accesses to a resource must
cooperate by requesting locks of a given lock name. All resource
accesses, including the set() and get() functions, are denied shared
resource access without a lock. It is the responsibility of each PSL
process to access a resource only when it holds the required lock.