From c270d033fa04873ee7a8925dbb00cae5edc4555c Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 30 Mar 2019 11:59:35 +0800 Subject: *misc --- source/modules/asura-utils/threading/mutex.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'source/modules/asura-utils/threading/mutex.h') 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 { -- cgit v1.1-26-g67d0