* Returns an already locked ObjectLock if the namespace is frozen. * Otherwise, returns an unlocked object lock. * * @returns An object lock. */
| 134 | * @returns An object lock. |
| 135 | */ |
| 136 | ObjectLock Namespace::LockIfRequired() |
| 137 | { |
| 138 | if (Frozen()) { |
| 139 | return ObjectLock(this, std::defer_lock); |
| 140 | } |
| 141 | return ObjectLock(this); |
| 142 | } |
| 143 | |
| 144 | std::shared_lock<std::shared_timed_mutex> Namespace::ReadLockUnlessFrozen() const |
| 145 | { |