Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

%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
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.PackageManager.Core.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