24#ifndef MYSQL_CONCURRENCY_MUTEX_WRAPPER_H
25#define MYSQL_CONCURRENCY_MUTEX_WRAPPER_H
MySQL wrapper for a mutex, template which may be specialized with a specific implementation of a mute...
Definition: mutex_wrapper.h:38
bool try_lock() noexcept
Non-blocking try-lock operation.
Definition: mutex_wrapper.cpp:34
Mutex_wrapper(PSI_mutex_key key)
Definition: mutex_wrapper.cpp:28
Mutex_wrapper & operator=(Mutex_wrapper &&src)=delete
void unlock()
Unblocks access to a critical section for other threads.
Definition: mutex_wrapper.cpp:38
decltype(auto) native_handle()
Returns the native handle of the mutex.
Definition: mutex_wrapper.h:63
void lock() noexcept
Acquire a lock, blocks access to a critical section until "unlock" is called.
Definition: mutex_wrapper.cpp:32
Mutex_wrapper & operator=(const Mutex_wrapper &src)=delete
mysql_mutex_t m_mutex
Definition: mutex_wrapper.h:66
Mutex_wrapper(Mutex_wrapper &&)=delete
~Mutex_wrapper()
Definition: mutex_wrapper.cpp:40
Mutex_wrapper(const Mutex_wrapper &)=delete
unsigned int PSI_mutex_key
Instrumented mutex key.
Definition: psi_mutex_bits.h:52
Definition: cache_line_size.h:31
noexcept
The return type for any call_and_catch(f, args...) call where f(args...) returns Type.
Definition: call_and_catch.h:76
Instrumentation helpers for mutexes.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50