|
| | LockerForTests (LockMode globalLockMode) |
| |
| | ~LockerForTests () |
| |
| | LockerImpl () |
| | Instantiates new locker. More...
|
| |
| virtual | ~LockerImpl () |
| |
| virtual ClientState | getClientState () const |
| | Return whether client is holding any locks (active), or is queued on any locks or waiting for a ticket (throttled). More...
|
| |
| virtual LockerId | getId () const |
| |
| stdx::thread::id | getThreadId () const override |
| | Get a platform-specific thread identifier of the thread which owns the this locker for tracing purposes. More...
|
| |
| void | updateThreadIdToCurrentThread () override |
| | Updates any cached thread id values to represent the current thread. More...
|
| |
| void | unsetThreadId () override |
| | Clears any cached thread id values. More...
|
| |
| void | setSharedLocksShouldTwoPhaseLock (bool sharedLocksShouldTwoPhaseLock) override |
| | Indicate that shared locks should participate in two-phase locking for this Locker instance. More...
|
| |
| void | setMaxLockTimeout (Milliseconds maxTimeout) override |
| | This is useful to ensure that potential deadlocks do not occur. More...
|
| |
| bool | hasMaxLockTimeout () override |
| | Returns whether this Locker has a maximum lock timeout set. More...
|
| |
| void | unsetMaxLockTimeout () override |
| | Clears the max lock timeout override set by setMaxLockTimeout() above. More...
|
| |
| virtual LockResult | lockGlobal (OperationContext *opCtx, LockMode mode) |
| | This should be the first method invoked for a particular Locker object. More...
|
| |
| virtual LockResult | lockGlobal (LockMode mode) |
| |
| virtual LockResult | lockGlobalBegin (OperationContext *opCtx, LockMode mode, Date_t deadline) |
| | Requests the global lock to be acquired in the specified mode. More...
|
| |
| virtual LockResult | lockGlobalBegin (LockMode mode, Date_t deadline) |
| |
| virtual LockResult | lockGlobalComplete (OperationContext *opCtx, Date_t deadline) |
| | Calling lockGlobalComplete without an OperationContext does not allow the lock acquisition to be interrupted. More...
|
| |
| virtual LockResult | lockGlobalComplete (Date_t deadline) |
| |
| virtual void | lockMMAPV1Flush () |
| | This method is used only in the MMAP V1 storage engine, otherwise it is a no-op. More...
|
| |
| virtual void | downgradeGlobalXtoSForMMAPV1 () |
| | This is only necessary for the MMAP V1 engine and in particular, the fsyncLock command which needs to first acquire the global lock in X-mode for truncating the journal and then downgrade to S before it blocks. More...
|
| |
| virtual bool | unlockGlobal () |
| | Decrements the reference count on the global lock. More...
|
| |
| virtual void | beginWriteUnitOfWork () |
| | beginWriteUnitOfWork/endWriteUnitOfWork are called at the start and end of WriteUnitOfWorks. More...
|
| |
| virtual void | endWriteUnitOfWork () |
| |
| virtual bool | inAWriteUnitOfWork () const |
| |
| virtual LockResult | lock (OperationContext *opCtx, ResourceId resId, LockMode mode, Date_t deadline=Date_t::max(), bool checkDeadlock=false) |
| | Requests a lock for resource 'resId' with mode 'mode'. More...
|
| |
| virtual LockResult | lock (ResourceId resId, LockMode mode, Date_t deadline=Date_t::max(), bool checkDeadlock=false) |
| | Calling lock without an OperationContext does not allow LOCK_WAITING states to be interrupted. More...
|
| |
| virtual void | downgrade (ResourceId resId, LockMode newMode) |
| | Downgrades the specified resource's lock mode without changing the reference count. More...
|
| |
| virtual bool | unlock (ResourceId resId) |
| | Releases a lock previously acquired through a lock call. More...
|
| |
| virtual LockMode | getLockMode (ResourceId resId) const |
| | Retrieves the mode in which a lock is held or checks whether the lock held for a particular resource covers the specified mode. More...
|
| |
| virtual bool | isLockHeldForMode (ResourceId resId, LockMode mode) const |
| |
| virtual bool | isDbLockedForMode (StringData dbName, LockMode mode) const |
| |
| virtual bool | isCollectionLockedForMode (StringData ns, LockMode mode) const |
| |
| virtual ResourceId | getWaitingResource () const |
| | Returns the resource that this locker is waiting/blocked on (if any). More...
|
| |
| virtual void | getLockerInfo (LockerInfo *lockerInfo) const |
| |
| virtual boost::optional< LockerInfo > | getLockerInfo () const final |
| | Returns boost::none if this is an instance of LockerNoop, or a populated LockerInfo otherwise. More...
|
| |
| virtual bool | saveLockStateAndUnlock (LockSnapshot *stateOut) |
| | Retrieves all locks held by this transaction, other than RESOURCE_MUTEX locks, and what mode they're held in. More...
|
| |
| virtual void | restoreLockState (OperationContext *opCtx, const LockSnapshot &stateToRestore) |
| | Re-locks all locks whose state was stored in 'stateToRestore'. More...
|
| |
| virtual void | restoreLockState (const LockSnapshot &stateToRestore) |
| |
| virtual void | releaseTicket () |
| | Releases the ticket associated with the Locker. More...
|
| |
| virtual void | reacquireTicket (OperationContext *opCtx) |
| | Reacquires a ticket for the Locker. More...
|
| |
| LockResult | lockBegin (OperationContext *opCtx, ResourceId resId, LockMode mode) |
| | Allows for lock requests to be requested in a non-blocking way. More...
|
| |
| LockResult | lockComplete (OperationContext *opCtx, ResourceId resId, LockMode mode, Date_t deadline, bool checkDeadlock) |
| | Waits for the completion of a lock, previously requested through lockBegin or lockGlobalBegin. More...
|
| |
| LockResult | lockComplete (ResourceId resId, LockMode mode, Date_t deadline, bool checkDeadlock) |
| |
| FastMapNoAlloc< ResourceId, LockRequest > | getRequestsForTest () const |
| | This function is for unit testing only. More...
|
| |
| virtual void | dump () const |
| |
| virtual bool | isW () const |
| |
| virtual bool | isR () const |
| |
| virtual bool | isLocked () const |
| |
| virtual bool | isWriteLocked () const |
| |
| virtual bool | isReadLocked () const |
| |
| bool | isGlobalLockedRecursively () override |
| |
| virtual bool | hasLockPending () const |
| | Pending means we are currently trying to get a lock (could be the parallel batch writer lock). More...
|
| |
| virtual | ~Locker () |
| |
| virtual bool | isNoop () const |
| | Returns true if this is an instance of LockerNoop. More...
|
| |
| void | setShouldConflictWithSecondaryBatchApplication (bool newValue) |
| | If set to false, this opts out of conflicting with replication's use of the ParallelBatchWriterMode lock. More...
|
| |
| bool | shouldConflictWithSecondaryBatchApplication () const |
| |
| void | setShouldAcquireTicket (bool newValue) |
| | If set to false, this opts out of the ticket mechanism. More...
|
| |
| bool | shouldAcquireTicket () const |
| |
| unsigned | numResourcesToUnlockAtEndUnitOfWorkForTest () const |
| | This function is for unit testing only. More...
|
| |