SALOME documentation central
src/Utils/Utils_Mutex.hxx
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef Utils_Mutex_HeaderFile
00029 #define Utils_Mutex_HeaderFile
00030
00031 #include "SALOME_Utils.hxx"
00032
00033 #include <pthread.h>
00034
00035 class UTILS_EXPORT Utils_Mutex
00036 {
00037 public:
00038 Utils_Mutex();
00039 ~Utils_Mutex();
00040
00041 void lock();
00042 void unlock();
00043
00044 private:
00045 pthread_mutex_t myMutex;
00046 pthread_mutex_t myHelperMutex;
00047 pthread_t myThread;
00048 int myCount;
00049 };
00050
00051 class UTILS_EXPORT Utils_Locker
00052 {
00053 public:
00054 Utils_Locker( Utils_Mutex* );
00055 virtual ~Utils_Locker();
00056
00057 private:
00058 Utils_Mutex* myMutex;
00059 };
00060
00061 #endif
Copyright © 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS