Home > Class Reference > %SYS namespace > %ZHSLIB.PackageManager.Core.LockManager

%ZHSLIB.PackageManager.Core.LockManager

class %ZHSLIB.PackageManager.Core.LockManager extends %Library.RegisteredObject

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

Methods

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

Inherited Members

Inherited Methods

FeedbackOpens in a new window