Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef OPENMP_MUTEX
00018 #define OPENMP_MUTEX
00019
00020 #include "g2o/config.h"
00021
00022 #ifdef G2O_OPENMP
00023 #include <omp.h>
00024 #endif
00025
00026 namespace g2o {
00027
00028 #ifdef G2O_OPENMP
00029
00033 class OpenMPMutex
00034 {
00035 public:
00036 OpenMPMutex() { omp_init_lock(&_lock); }
00037 ~OpenMPMutex() { omp_destroy_lock(&_lock); }
00038 void lock() { omp_set_lock(&_lock); }
00039 void unlock() { omp_unset_lock(&_lock); }
00040
00041 protected:
00042 omp_lock_t _lock;
00043 };
00044
00045 #else
00046
00047
00048
00049
00050 struct OpenMPMutex
00051 {
00052 void lock() {}
00053 void unlock() {}
00054 };
00055
00056 #endif
00057
00058 }
00059
00060 #endif