summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/threading/mutex.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-03-30 11:59:35 +0800
committerchai <chaifix@163.com>2019-03-30 11:59:35 +0800
commitc270d033fa04873ee7a8925dbb00cae5edc4555c (patch)
treeee27a45c5b946b08dd7a726a925028f6ca3eabf1 /source/modules/asura-utils/threading/mutex.h
parent771df5c31cd5653467fd6e76c1a3e002ca39582c (diff)
*misc
Diffstat (limited to 'source/modules/asura-utils/threading/mutex.h')
-rw-r--r--source/modules/asura-utils/threading/mutex.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/source/modules/asura-utils/threading/mutex.h b/source/modules/asura-utils/threading/mutex.h
index a3fbea5..7afbe35 100644
--- a/source/modules/asura-utils/threading/mutex.h
+++ b/source/modules/asura-utils/threading/mutex.h
@@ -14,6 +14,8 @@ namespace AsuraEngine
namespace Threading
{
+#define ASURA_MUTEX_MAXWAIT (~(uint32)0)
+
class MutexImpl;
class Mutex
@@ -44,17 +46,15 @@ namespace AsuraEngine
{
m.Unlock();
}
+ operator bool() { return false; };
private:
void* operator new(size_t);
Mutex& m;
};
// ڵջӴλÿʼջΪٽ
-#define lock(mutex) _mutex_locker _asura_scoped_lock_0x0(mutex)
-#define lock2(mutex) _mutex_locker _asura_scoped_lock_0x1(mutex)
-#define lock3(mutex) _mutex_locker _asura_scoped_lock_0x2(mutex)
-#define lock4(mutex) _mutex_locker _asura_scoped_lock_0x3(mutex)
-#define lock5(mutex) _mutex_locker _asura_scoped_lock_0x4(mutex)
+#define lock(m) \
+ if(_mutex_locker _asura_mutex_locker = m){} else
ASURA_ABSTRACT class MutexImpl
{