2024-02-05 22:25:30 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "ehs/EHS.h"
|
|
|
|
#include "BaseMutex.h"
|
|
|
|
|
|
|
|
#include <pthread.h>
|
|
|
|
|
|
|
|
namespace ehs
|
|
|
|
{
|
2024-07-24 01:36:20 -07:00
|
|
|
class EHS_LIB_IO Mutex : public BaseMutex
|
2024-02-05 22:25:30 -08:00
|
|
|
{
|
|
|
|
private:
|
|
|
|
pthread_mutex_t hdl;
|
|
|
|
|
|
|
|
public:
|
|
|
|
~Mutex() override;
|
|
|
|
|
|
|
|
Mutex();
|
|
|
|
|
|
|
|
Mutex(const Mutex& mutex);
|
|
|
|
|
|
|
|
Mutex& operator=(const Mutex& mutex);
|
|
|
|
|
|
|
|
void Initialize() override;
|
|
|
|
|
|
|
|
void UnInitialize() override;
|
|
|
|
|
|
|
|
void Lock() override;
|
|
|
|
|
|
|
|
void Unlock() override;
|
|
|
|
};
|
|
|
|
}
|