ANNA Suite  2020b
Multipurpose development suite for Telco applications
Classes | Namespaces | Macros
Mutex.hpp File Reference
#include <pthread.h>
#include <anna/core/mt/Safe.hpp>
Include dependency graph for Mutex.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  anna::Mutex
 
struct  anna::Mutex::Mode
 

Namespaces

 anna
 

Macros

#define anna_declare_mutex(ClassName)
 
#define anna_access_mutex   a_autoMutex
 

Macro Definition Documentation

◆ anna_access_mutex

#define anna_access_mutex   a_autoMutex

◆ anna_declare_mutex

#define anna_declare_mutex (   ClassName)
Value:
anna::Mutex a_autoMutex; \
void lock () noexcept(false) { a_autoMutex.lock (); } \
void unlock () { a_autoMutex.unlock (); } \
friend class anna::Guard <ClassName >;
virtual void unlock()
virtual void lock() noexcept(false)
Definition: Guard.hpp:35
Definition: Mutex.hpp:41

Macro que incorpora la definición de un Mutex e implementa los métodos lock y unlock en la clase desde la que se invoca.

Warning
Debe invocarse desde la parte privada de la clase para asegurar que las secciones críticas de la misma sólo se activaran mediante anna::Guard<T>, que es la forma más segura y fácil.