14#include "arccore/concurrency/GlibAdapter.h"
26#define ARCCORE_GLIB_HAS_NEW_THREAD
43 Impl() ARCCORE_NOEXCEPT
46 m_mutex = &m_mutex_instance;
54 GMutex* value()
const {
return m_mutex; }
66GlibMutex() ARCCORE_NOEXCEPT
77void GlibMutex::lock() { m_p->lock(); }
78void GlibMutex::unlock() { m_p->unlock(); }
80GlibMutex::Lock::Lock(GlibMutex& x) : m_mutex(x.m_p){ m_mutex->lock(); }
81GlibMutex::Lock::~Lock() { m_mutex->unlock(); }
87GPrivate null_gprivate = G_PRIVATE_INIT(
nullptr);
97 Impl() ARCCORE_NOEXCEPT
101 m_private = &m_private_instance;
109 void setValue(
void* value)
137void GlibPrivate::create() { m_p->create(); }
138void GlibPrivate::setValue(
void* value) { m_p->setValue(value); }
139void* GlibPrivate::getValue() {
return m_p->getValue(); }
147 Impl() : m_cond(
nullptr)
149 m_cond = &m_cond_instance;
160 GCond m_cond_instance;
168GlibCond::~GlibCond() {
delete m_p; }
169void GlibCond::broadcast() { m_p->broadcast(); }
170void GlibCond::wait(GlibMutex* mutex) { m_p->wait(mutex->m_p); }
Référence à une instance.
Espace de nom de Arccore.