You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
725 B

#ifndef MUTEX_HPP
#define MUTEX_HPP
#include <pthread.h>
class Mutex
{
public:
Mutex(int kind = PTHREAD_MUTEX_DEFAULT);
~Mutex();
/**
* Locks mutex. If already locked, the calling thread shall block until
* the mutex becomes available.
* @returns If successful, zero; otherwise, an error number.
*/
int lock();
/**
*
*/
int unlock();
/**
* If currently locked, the call shall return immediately.
* @returns Zero if a lock acquired. Otherwise, an error number.
*/
int tryLock(const long int intervalSec = 0);
pthread_mutex_t* getPThreadMutex();
private:
Mutex(const Mutex& m);
Mutex& operator=(const Mutex& m);
pthread_mutex_t m_mutex;
};
#endif // MUTEX_HPP