summaryrefslogtreecommitdiff
path: root/Source/Kernel/TaskManager
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-10-13 18:59:54 +0200
committerAlexis211 <alexis211@gmail.com>2009-10-13 18:59:54 +0200
commit1a163292375eb78735a7b4bf7ca508f9dfda9a20 (patch)
treeddc40331742d1a8520aa73d5702ebcd74f4f9c1c /Source/Kernel/TaskManager
parent01665d725a200c3c51bcd834cc8324ec057286c4 (diff)
downloadMelon-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.cpp6
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() {