#include <vsicondition.h>
Public Member Functions | |
CvsiCondition () | |
~CvsiCondition () | |
int | IsOpen () |
void | Lock () |
void | Unlock () |
void | Wait () |
void | Signal () |
Private Attributes | |
pthread_mutex_t | m_Mutex |
pthread_cond_t | m_Condition |
int | m_isopen |
Definition at line 28 of file vsicondition.h.
CvsiCondition::CvsiCondition | ( | ) |
Definition at line 29 of file vsicondition.cpp.
00030 { 00031 int result = pthread_cond_init(&m_Condition,NULL); 00032 if(result == 0) 00033 { 00034 result = pthread_mutex_init(&m_Mutex,NULL); 00035 if(result == 0) 00036 { 00037 m_isopen = true; 00038 } 00039 else 00040 { 00041 pthread_cond_destroy(&m_Condition); 00042 m_isopen = false; 00043 } 00044 } 00045 else 00046 m_isopen = false; 00047 00048 }
CvsiCondition::~CvsiCondition | ( | ) |
Definition at line 51 of file vsicondition.cpp.
00052 { 00053 if(m_isopen) 00054 { 00055 pthread_cond_destroy(&m_Condition); 00056 pthread_mutex_destroy(&m_Mutex); 00057 } 00058 }
int CvsiCondition::IsOpen | ( | ) |
Definition at line 73 of file vsicondition.cpp.
00074 { 00075 return m_isopen; 00076 }
void CvsiCondition::Lock | ( | ) |
Definition at line 61 of file vsicondition.cpp.
00062 { 00063 pthread_mutex_lock(&m_Mutex); 00064 }
void CvsiCondition::Signal | ( | ) |
Definition at line 85 of file vsicondition.cpp.
00086 { 00087 pthread_cond_broadcast(&m_Condition); 00088 }
void CvsiCondition::Unlock | ( | ) |
Definition at line 67 of file vsicondition.cpp.
00068 { 00069 pthread_mutex_unlock(&m_Mutex); 00070 }
void CvsiCondition::Wait | ( | ) |
Definition at line 79 of file vsicondition.cpp.
00080 { 00081 pthread_cond_wait(&m_Condition,&m_Mutex); 00082 }
pthread_cond_t CvsiCondition::m_Condition [private] |
Definition at line 40 of file vsicondition.h.
int CvsiCondition::m_isopen [private] |
Definition at line 41 of file vsicondition.h.
pthread_mutex_t CvsiCondition::m_Mutex [private] |
Definition at line 39 of file vsicondition.h.