2016-07-12 17:40:45 +00:00
|
|
|
#pragma once
|
2013-10-20 13:01:57 +00:00
|
|
|
|
|
|
|
#include "system_global.h"
|
2015-12-15 23:31:07 +00:00
|
|
|
|
|
|
|
#include <mutex>
|
2013-10-20 13:01:57 +00:00
|
|
|
|
2015-11-09 21:30:46 +00:00
|
|
|
namespace paysages {
|
|
|
|
namespace system {
|
2013-10-20 13:01:57 +00:00
|
|
|
|
2016-01-03 18:21:23 +00:00
|
|
|
/**
|
|
|
|
* System mutex
|
2013-10-20 13:01:57 +00:00
|
|
|
*/
|
2015-12-15 23:31:07 +00:00
|
|
|
class SYSTEMSHARED_EXPORT Mutex : private mutex {
|
2015-11-09 21:30:46 +00:00
|
|
|
public:
|
2016-01-03 18:21:23 +00:00
|
|
|
/**
|
|
|
|
* Create a new mutex
|
2013-10-20 13:01:57 +00:00
|
|
|
*/
|
|
|
|
Mutex();
|
|
|
|
|
2015-11-09 21:30:46 +00:00
|
|
|
inline void acquire() {
|
2015-12-15 23:31:07 +00:00
|
|
|
mutex::lock();
|
2015-11-09 21:30:46 +00:00
|
|
|
}
|
|
|
|
inline void release() {
|
2015-12-15 23:31:07 +00:00
|
|
|
mutex::unlock();
|
2015-11-09 21:30:46 +00:00
|
|
|
}
|
2013-10-20 13:01:57 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|