libjmmcg
build_2783
A C++ library containing an eclectic mix of useful, advanced components.
|
#include <posix_locking.hpp>
Classes | |
class | attr |
Public Types | |
typedef lock::lockable< api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading > > | base_t |
typedef base_t::lock_traits | lock_traits |
typedef base_t::atomic_state_type | atomic_state_type |
typedef lock_traits::exception_type | exception_type |
typedef lock::in_process< anon_mutex > | lock_type |
typedef lock_type | read_lock_type |
typedef lock_type | write_lock_type |
typedef lock::in_process_unlockable< anon_mutex > | unlockable_type |
typedef unlockable_type | read_unlockable_type |
typedef unlockable_type | write_unlockable_type |
using | api_mutex_type = lock_traits::api_mutex_type |
Public Types inherited from jmmcg::ppd::lock::lockable< api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading > > | |
using | lock_traits = api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading > |
typedef lock_traits::atomic_state_type | atomic_state_type |
typedef lock_traits::timeout_type | timeout_type |
Public Member Functions | |
__stdcall | anon_mutex () noexcept(false) FORCE_INLINE |
anon_mutex (anon_mutex const &)=delete | |
virtual __stdcall | ~anon_mutex () noexcept(true) FORCE_INLINE |
operator api_mutex_type * () noexcept(true) FORCE_INLINE | |
atomic_state_type __fastcall | lock (const timeout_type timeout) noexcept(true) override FORCE_INLINE final |
atomic_state_type __fastcall | lock () noexcept(true) override FORCE_INLINE final |
atomic_state_type __fastcall | unlock () noexcept(true) override FORCE_INLINE final |
void | decay () noexcept(true) FORCE_INLINE |
Public Member Functions inherited from jmmcg::ppd::lock::lockable< api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading > > | |
virtual atomic_state_type __fastcall | lock (const timeout_type) noexcept(false)=0 |
virtual atomic_state_type __fastcall | try_lock () noexcept(true) FORCE_INLINE |
Static Public Attributes | |
static constexpr generic_traits::memory_access_modes | memory_access_mode =generic_traits::memory_access_modes::erew_memory_access |
Protected Member Functions | |
__stdcall | anon_mutex (const int shared, const int err_chk=PTHREAD_MUTEX_ERRORCHECK) noexcept(false) FORCE_INLINE |
Friends | |
class | mutex |
Note that this is not the most efficient mutex, but it is safer than default-created mutexes, as it uses PTHREAD_MUTEX_ERRORCHECK semantics [1].
Definition at line 109 of file posix_locking.hpp.
using jmmcg::ppd::pthreads::anon_mutex::api_mutex_type = lock_traits::api_mutex_type |
Definition at line 121 of file posix_locking.hpp.
Definition at line 113 of file posix_locking.hpp.
typedef lock::lockable<api_lock_traits<ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading> > jmmcg::ppd::pthreads::anon_mutex::base_t |
Definition at line 111 of file posix_locking.hpp.
typedef lock_traits::exception_type jmmcg::ppd::pthreads::anon_mutex::exception_type |
Definition at line 114 of file posix_locking.hpp.
Definition at line 112 of file posix_locking.hpp.
Definition at line 115 of file posix_locking.hpp.
Definition at line 116 of file posix_locking.hpp.
Definition at line 119 of file posix_locking.hpp.
Definition at line 118 of file posix_locking.hpp.
Definition at line 117 of file posix_locking.hpp.
Definition at line 120 of file posix_locking.hpp.
|
inlinenoexcept |
Definition at line 156 of file posix_locking_impl.hpp.
|
delete |
|
inlinevirtualnoexcept |
Definition at line 167 of file posix_locking_impl.hpp.
References jmmcg::ppd::pthreads::anon_semaphore::reset().
|
inlineexplicitprotectednoexcept |
Definition at line 202 of file posix_locking_impl.hpp.
References jmmcg::ppd::pthreads::anon_semaphore::reset().
|
inlinenoexcept |
Definition at line 198 of file posix_locking_impl.hpp.
References jmmcg::ppd::pthreads::anon_semaphore::reset().
|
inlinefinaloverridevirtualnoexcept |
Definition at line 178 of file posix_locking_impl.hpp.
|
inlinefinaloverridenoexcept |
Definition at line 183 of file posix_locking_impl.hpp.
References jmmcg::ppd::pthreads::anon_semaphore::reset().
|
inlinenoexcept |
Definition at line 173 of file posix_locking_impl.hpp.
References jmmcg::ppd::pthreads::anon_semaphore::reset().
|
inlinefinaloverridevirtualnoexcept |
Definition at line 192 of file posix_locking_impl.hpp.
References jmmcg::ppd::pthreads::anon_semaphore::reset().
|
friend |
Definition at line 141 of file posix_locking.hpp.
|
staticconstexpr |
To assist in allowing compile-time computation of the algorithmic order of the threading model.
Definition at line 125 of file posix_locking.hpp.