Main MRPT website > C++ reference for MRPT 1.4.0
Classes | Namespaces | Macros
CCriticalSection.h File Reference
#include <mrpt/utils/CReferencedMemBlock.h>
#include <string>

Go to the source code of this file.

Classes

class  mrpt::synch::CCriticalSection
 This class provides simple critical sections functionality. More...
 
class  mrpt::synch::CCriticalSectionLocker
 A class acquiring a CCriticalSection at its constructor, and releasing it at destructor. More...
 

Namespaces

namespace  mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
namespace  mrpt::utils
 Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
 
namespace  mrpt::synch
 This namespace provides multitask, synchronization utilities.
 

Macros

#define THREADSAFE_OPERATION(_CRITSECT_OBJ, CODE_TO_EXECUTE)
 A macro for protecting a given piece of code with a critical section; for example: More...
 

Macro Definition Documentation

◆ THREADSAFE_OPERATION

#define THREADSAFE_OPERATION (   _CRITSECT_OBJ,
  CODE_TO_EXECUTE 
)
Value:
{ \
mrpt::synch::CCriticalSectionLocker lock(&_CRITSECT_OBJ); \
CODE_TO_EXECUTE \
}
A class acquiring a CCriticalSection at its constructor, and releasing it at destructor.

A macro for protecting a given piece of code with a critical section; for example:

CCriticalSection cs;
MyObject obj;
...
THREADSAFE_OPERATION(cs, obj.foo(); )
...
THREADSAFE_OPERATION(cs, obj.foo(); obj.bar(); }
See also
CCriticalSectionLocker, CThreadSafeVariable

Definition at line 118 of file CCriticalSection.h.




Page generated by Doxygen 1.9.5 for MRPT 1.4.0 SVN: at Tue Dec 27 00:53:09 UTC 2022