Skip to main content


class %ZHSLIB.LockManager extends %Library.RegisteredObject

Internal use of LockManager to be available systemwide and accessible from application namespaces Internal replacement of %IPM.Utils.LockManager Utility to make managing locking/unlocking easier in more complex settings. Usage pattern:
  1. Create an instance of this class at the beginning of a method.
  2. Call the Lock() and (optionally) Unlock() methods.
  3. When the object goes out of scope, remaining locks are automatically released with the correct flags.

Method Inventory


method Lock(pGlobalName As %String, pFlags As %String = "", pTimeout As %Integer = $$$LockTimeout) as %Status
method LockClassDefinition(pClass As %String, pShared As %Boolean = 0, pTimeout As %Integer = 0) as %Status
method LockClassId(pClassName As %Dictionary.Classname, pID As %String, pShared As %Boolean = 0, pTimeout As %Integer) as %Status
classmethod LockClassesRecursive(ByRef pLockManager=..%New(), ByRef pClasses, ByRef pSharedLockedClasses) as %Status
method MergeTo(pTargetLockManager As %ZHSLIB.LockManager)
method Unlock(pGlobalName As %String, pFlags As %String = "", pImmediate As %Boolean = 0, pUpdateCache As %Boolean = 1)
method UnlockAll(pImmediate As %Boolean = 1) as %Status
method UnlockClassId(pClassName As %Dictionary.Classname, pID As %String, pShared As %Boolean = 0, pImmediate As %Boolean = 0)

Inherited Members

Inherited Methods

FeedbackOpens in a new tab