mirror of
https://github.com/Tencent/libco.git
synced 2025-05-08 19:51:15 +08:00
30 lines
399 B
C++
30 lines
399 B
C++
#pragma once
|
|
|
|
#include "co_routine.h"
|
|
|
|
class clsCoMutex {
|
|
public:
|
|
clsCoMutex();
|
|
~clsCoMutex();
|
|
|
|
void CoLock();
|
|
void CoUnLock();
|
|
|
|
private:
|
|
stCoCond_t* m_ptCondSignal;
|
|
int m_iWaitItemCnt;
|
|
};
|
|
|
|
class clsSmartLock {
|
|
public:
|
|
clsSmartLock(clsCoMutex* m) {
|
|
m_ptMutex = m;
|
|
m_ptMutex->CoLock();
|
|
}
|
|
~clsSmartLock() { m_ptMutex->CoUnLock(); }
|
|
|
|
private:
|
|
clsCoMutex* m_ptMutex;
|
|
};
|
|
|