userver: userver/engine/semaphore.hpp File Reference
Loading...
Searching...
No Matches
semaphore.hpp File Reference

Detailed Description

Class that allows up to max_simultaneous_locks concurrent accesses to the critical section. It ignores task cancellation, unlike CancellableSemaphore.

Definition in file semaphore.hpp.

Go to the source code of this file.

#include <atomic>
#include <chrono>
#include <shared_mutex>
#include <stdexcept>
#include <userver/engine/deadline.hpp>
#include <userver/engine/impl/wait_list_fwd.hpp>
#include <memory>
#include <userver/utils/assert.hpp>
+ Include dependency graph for semaphore.hpp:
+ This graph shows which files directly or indirectly include this file:

Classes

class  engine::UnreachableSemaphoreLockError
 
class  engine::SemaphoreLockCancelledError
 Thrown by engine::CancellableSemaphore on current task cancellation. More...
 
class  engine::CancellableSemaphore
 Class that allows up to max_simultaneous_locks concurrent accesses to the critical section. It honours task cancellation, unlike Semaphore. More...
 
class  engine::Semaphore
 Class that allows up to max_simultaneous_locks concurrent accesses to the critical section. It ignores task cancellation, unlike CancellableSemaphore. More...
 
class  engine::SemaphoreLock
 A replacement for std::shared_lock that accepts Deadline arguments. More...
 

Namespaces

namespace  engine
 Asynchronous engine primitives.