summaryrefslogtreecommitdiff
path: root/Source/Kernel/SyscallManager
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-10-16 17:35:50 +0200
committerAlexis211 <alexis211@gmail.com>2009-10-16 17:35:50 +0200
commit4d5348a49f54d95c0271c8f9c4ef01c005d6b74b (patch)
treebf993a94f618982a511f6eb5f71b21abe6521c0d /Source/Kernel/SyscallManager
parent6e87493b8cd156388b075ecace376126a8875283 (diff)
downloadMelon-4d5348a49f54d95c0271c8f9c4ef01c005d6b74b.tar.gz
Melon-4d5348a49f54d95c0271c8f9c4ef01c005d6b74b.zip
We now use a temporary stack in task management for :
- deleting current thread whe it finishes - doing everything that goes with that
Diffstat (limited to 'Source/Kernel/SyscallManager')
-rw-r--r--Source/Kernel/SyscallManager/IDT.ns.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Kernel/SyscallManager/IDT.ns.cpp b/Source/Kernel/SyscallManager/IDT.ns.cpp
index 1a62d88..fcab741 100644
--- a/Source/Kernel/SyscallManager/IDT.ns.cpp
+++ b/Source/Kernel/SyscallManager/IDT.ns.cpp
@@ -74,9 +74,9 @@ extern "C" void interrupt_handler(registers_t regs) {
doSwitch = doSwitch or Task::IRQwakeup(regs.int_no - 32);
}
if (regs.int_no == 66) { //This syscall signals to kernel that thread ended.
- Task::currentThreadExits(regs.eax);
+ Task::currentThreadExits(regs.eax); //DO NOT COUNT ON COMMING BACK FROM HERE
}
- if (doSwitch) Task::doSwitch(); //DO NEVER COUNT ON COMMING BACK FROM HERE
+ if (doSwitch) Task::doSwitch(); //DO NOT COUNT ON COMMING BACK FROM HERE EITHER
}
namespace IDT {