Main MRPT website > C++ reference for MRPT 1.5.9
List of all members | Public Member Functions | Protected Attributes
mrpt::synch::CCriticalSectionLocker Class Reference

Detailed Description

A class acquiring a CCriticalSection at its constructor, and releasing it at destructor.

It is a better idea to always use CCriticalSectionLocker, since it is more secure in the case of possible exceptions, many different exit points from a function, etc.. : it will always release the critical section at the destructor. Example:

{ // Code in this scope is protected by critical section
CCriticalSectionLocker myCSLocker( &myCS );
} // End of code protected by critical section
See also

Definition at line 89 of file CCriticalSection.h.

#include <mrpt/synch/CCriticalSection.h>

Public Member Functions

 CCriticalSectionLocker (const CAbstractMutex *cs)
 Constructor: enters the critical section. More...
 CCriticalSectionLocker (const CCriticalSectionLocker &o)
 ~CCriticalSectionLocker ()
 Destructor: leaves the critical section. More...

Protected Attributes

const CAbstractMutexm_cs

Constructor & Destructor Documentation

◆ CCriticalSectionLocker() [1/2]

CCriticalSectionLocker::CCriticalSectionLocker ( const CAbstractMutex cs)

Constructor: enters the critical section.

[Since MRPT 0.9.6] The pointer can be NULL, in which case no action at all will be taken.

Definition at line 27 of file CCriticalSectionLocker.cpp.

References mrpt::synch::CAbstractMutex::enter(), and m_cs.

◆ CCriticalSectionLocker() [2/2]

mrpt::synch::CCriticalSectionLocker::CCriticalSectionLocker ( const CCriticalSectionLocker o)

Definition at line 100 of file CCriticalSection.h.

◆ ~CCriticalSectionLocker()

CCriticalSectionLocker::~CCriticalSectionLocker ( )

Destructor: leaves the critical section.

Definition at line 42 of file CCriticalSectionLocker.cpp.

References mrpt::synch::CAbstractMutex::leave(), and m_cs.

Member Data Documentation

◆ m_cs

const CAbstractMutex* mrpt::synch::CCriticalSectionLocker::m_cs

Definition at line 92 of file CCriticalSection.h.

Referenced by CCriticalSectionLocker(), and ~CCriticalSectionLocker().

Page generated by Doxygen 1.8.14 for MRPT 1.5.9 Git: 690a4699f Wed Apr 15 19:29:53 2020 +0200 at miƩ abr 15 19:30:12 CEST 2020