summaryrefslogtreecommitdiff
path: root/Source/Kernel/TaskManager
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-09-06 12:09:59 +0200
committerAlexis211 <alexis211@gmail.com>2009-09-06 12:09:59 +0200
commit7f6511e97e378d5853ec6b2edc6e330fb09e5132 (patch)
tree830230e99fa775853745b3019c855fd22fcd09e3 /Source/Kernel/TaskManager
parent50115ce7b42baf30d31cbee2669bc3d694098d12 (diff)
downloadMelon-7f6511e97e378d5853ec6b2edc6e330fb09e5132.tar.gz
Melon-7f6511e97e378d5853ec6b2edc6e330fb09e5132.zip
Bug correction
Diffstat (limited to 'Source/Kernel/TaskManager')
-rw-r--r--Source/Kernel/TaskManager/Task.ns.cpp2
-rw-r--r--Source/Kernel/TaskManager/Thread.class.cpp2
-rw-r--r--Source/Kernel/TaskManager/Thread.class.h4
3 files changed, 1 insertions, 7 deletions
diff --git a/Source/Kernel/TaskManager/Task.ns.cpp b/Source/Kernel/TaskManager/Task.ns.cpp
index 8a26133..3ee21de 100644
--- a/Source/Kernel/TaskManager/Task.ns.cpp
+++ b/Source/Kernel/TaskManager/Task.ns.cpp
@@ -77,7 +77,7 @@ void doSwitch() {
}
void triggerSwitch() {
- asm volatile("int $64");
+ asm volatile("int $65");
}
u32int nextPid() {
diff --git a/Source/Kernel/TaskManager/Thread.class.cpp b/Source/Kernel/TaskManager/Thread.class.cpp
index b5bb4e6..ae399f4 100644
--- a/Source/Kernel/TaskManager/Thread.class.cpp
+++ b/Source/Kernel/TaskManager/Thread.class.cpp
@@ -91,8 +91,6 @@ void Thread::sleep(u32int msecs) {
}
void Thread::waitIRQ(u8int irq) {
- if (!m_isKernel and !m_isRunningAnInterrupt) return;
-
m_state = T_IRQWAIT;
waitfor.m_irq = irq;
diff --git a/Source/Kernel/TaskManager/Thread.class.h b/Source/Kernel/TaskManager/Thread.class.h
index 63e5272..f8ab3ff 100644
--- a/Source/Kernel/TaskManager/Thread.class.h
+++ b/Source/Kernel/TaskManager/Thread.class.h
@@ -23,7 +23,6 @@ class Thread {
u8int m_irq; //An IRQ number
} waitfor;
- bool m_isRunningAnInterrupt;
bool m_isKernel; //Says if stack is in kernel pagedir, and if thread should run in ring 0
u32int m_kernelStackFrame; //Used for allocating and freeing a frame used as a stack
@@ -41,9 +40,6 @@ class Thread {
u32int getEip();
Process* getProcess();
- inline void enterInterrupt() { m_isRunningAnInterrupt = true; }
- inline void exitInterrupt() { m_isRunningAnInterrupt = false; }
-
void sleep(u32int msecs);
void waitIRQ(u8int irq);
bool runnable(); //Called by scheduler