summaryrefslogtreecommitdiff
path: root/src/mongo/util/clock_source.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-49950 Refactor and fix `ClockSourceMock`Saman Memaripour2022-02-251-2/+2
|
* SERVER-45857 Add time measurement class to ClockSourceBen Caimano2020-02-061-0/+3
| | | | This commit adds the mongo::ClockSource::StopWatch class.
* SERVER-45593 Use SystemClockSource for mock path waitForConditionUntil()Ben Caimano2020-01-211-3/+11
|
* SERVER-43800 ClockSource::waitForConditionUntil shouldn't use unique_lock ↵Ben Caimano2019-10-091-34/+32
| | | | out of line
* SERVER-43374 Extend BasicLockableAdaptor lifetime in waitForConditionUntilBen Caimano2019-09-191-3/+3
|
* SERVER-42165 Replace uses of stdx::mutex with mongo::MutexBen Caimano2019-09-171-5/+5
|
* SERVER-43324 Add BasicLockableAdaptor for cleaner function APIsAlex Taskov2019-09-141-6/+6
|
* SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue2019-02-131-1/+0
| | | | | | Remove leading comments that are just stating the filename. Move any file-level comments below the copyright banner. Remove leading blank lines.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-35679 General Interruption FacilityJason Carey2018-09-171-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for a generalized interruptibility facility in the server. This offers a generalized interruptibility facility, trialed in Future<T> and ProducerConsumerQueue<T>. It offers 3 major concepts: Notifyable: A type which can notified off-thread, causing a wake up from some kind of blocking wait Waitable: A type which is Notifyable, and also can perform work while in a ready-to-receive notification state. static methods offer support for running underneath condition_variable::wait's. The chief implementer is the transport layer baton type Interruptible: A type which can wait on condition variables, and offers: - deadlines. This means the type integrates some sort of clock source - interruptibility. This means the type offers a way of noticing that it should no longer run via status or exception Additionally, Interruptible's offer special scoped guards which offer - Exemption from interruption in a region defined by the lifetime of a guard object - Subsidiary deadlines which can trigger recursively, offering specialized timeout and status return support. The series of virtual types allows us to slice the interface between opCtx and future such that opctx can use future and future can use opctx. Additionally, cutting out more functionality allows us to flow a noop interruptibility type which unifies our waiting behind a common api.
* SERVER-34364 replace references to invariantOK with invariantBenety Goh2018-04-261-1/+1
|
* SERVER-28421 Implement ClockSource::waitForConditionUntil()Mathias Stearn2017-03-221-0/+87