summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/threading/mutex.h
diff options
context:
space:
mode:
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
{