diff options
author | Alexis211 <alexis211@gmail.com> | 2009-10-13 18:59:54 +0200 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2009-10-13 18:59:54 +0200 |
commit | 1a163292375eb78735a7b4bf7ca508f9dfda9a20 (patch) | |
tree | ddc40331742d1a8520aa73d5702ebcd74f4f9c1c /Source/Kernel/TaskManager | |
parent | 01665d725a200c3c51bcd834cc8324ec057286c4 (diff) | |
download | Melon-1a163292375eb78735a7b4bf7ca508f9dfda9a20.tar.gz Melon-1a163292375eb78735a7b4bf7ca508f9dfda9a20.zip |
Heap class now uses a Mutex
Diffstat (limited to 'Source/Kernel/TaskManager')
-rw-r--r-- | Source/Kernel/TaskManager/Mutex.class.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Kernel/TaskManager/Mutex.class.cpp b/Source/Kernel/TaskManager/Mutex.class.cpp index a6c3ba8..8ba274f 100644 --- a/Source/Kernel/TaskManager/Mutex.class.cpp +++ b/Source/Kernel/TaskManager/Mutex.class.cpp @@ -13,8 +13,10 @@ bool Mutex::lock() { } void Mutex::waitLock() { - while (atomic_exchange(&m_locked, MUTEX_TRUE) == MUTEX_TRUE) - Task::currThread()->sleep(10); //Wait 10ms + while (atomic_exchange(&m_locked, MUTEX_TRUE) == MUTEX_TRUE) { + if (Task::currThread() != 0) Task::currThread()->sleep(10); //Wait 10ms + else return; + } } void Mutex::unlock() { |