23 #include "ocilibcpp/core.hpp"
29 inline SynchronizationGuard::SynchronizationGuard(
SynchronizationMode mode) : _mutex(nullptr)
34 inline SynchronizationGuard::~SynchronizationGuard() noexcept
36 SILENT_CATCH(SetMode(SynchronizationMode::Unsafe));
39 inline void SynchronizationGuard::SetMode(SynchronizationMode mode)
41 if (SynchronizationMode::Safe == mode && !_mutex)
43 _mutex = Mutex::Create();
45 else if (SynchronizationMode::Unsafe == mode && _mutex)
47 Mutex::Destroy(_mutex);
52 inline void SynchronizationGuard::Acquire()
const
56 Mutex::Acquire(_mutex);
60 inline void SynchronizationGuard::Release()
const
64 Mutex::Release(_mutex);
SynchronizationMode
Internal usage. Synchronization mode enumeration.