#ifndef __CUVSEM__H_
#define __CUVSEM__H_
#include "uv.h"
class CUvSem{
public:
CUvSem();
~CUvSem();
public:
void Post();
void Wait();
int TryWait();
private:
uv_sem_t mstUvSem;
};
#endif
#include "UvSem.h"
CUvSem::CUvSem(){
uv_sem_init(&mstUvSem, 0);
}
CUvSem::~CUvSem(){
uv_sem_destroy(&mstUvSem);
}
void CUvSem::Post() {
uv_sem_post(&mstUvSem);
}
void CUvSem::Wait() {
uv_sem_wait(&mstUvSem);
}
int CUvSem::TryWait() {
return uv_sem_trywait(&mstUvSem);
}