summaryrefslogtreecommitdiff
path: root/Source/Kernel/Shell
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-10-09 16:29:05 +0200
committerAlexis211 <alexis211@gmail.com>2009-10-09 16:29:05 +0200
commitb9a988061e8220c5ef2406f5cd2221bf3f1b435d (patch)
tree7d523347e555a7555740d7b0ceffbeb35c32d1e6 /Source/Kernel/Shell
parent92abedffec913fe7337117403c5e07185356c81b (diff)
downloadMelon-b9a988061e8220c5ef2406f5cd2221bf3f1b435d.tar.gz
Melon-b9a988061e8220c5ef2406f5cd2221bf3f1b435d.zip
Exiting from a thread now works without hanging everything.
Diffstat (limited to 'Source/Kernel/Shell')
-rw-r--r--Source/Kernel/Shell/KernelShell.class.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Kernel/Shell/KernelShell.class.cpp b/Source/Kernel/Shell/KernelShell.class.cpp
index 5d78953..8e7bebb 100644
--- a/Source/Kernel/Shell/KernelShell.class.cpp
+++ b/Source/Kernel/Shell/KernelShell.class.cpp
@@ -14,7 +14,7 @@ u32int shellRun(void* ks) {
}
KernelShell::KernelShell(DirectoryNode* cwd) {
- m_vt = new ScrollableVT(10, 76, 200, SHELL_FGCOLOR, SHELL_BGCOLOR);
+ m_vt = new ScrollableVT(12, 76, 200, SHELL_FGCOLOR, SHELL_BGCOLOR);
((ScrollableVT*)m_vt)->map(9);
Kbd::setFocus(m_vt);
m_cwd = cwd;
@@ -76,6 +76,9 @@ u32int KernelShell::run() {
Sys::halt();
} else if (tokens[0] == "panic") {
PANIC("This is what happens when you say 'panic'.");
+ } else if (tokens[0] == "exit") {
+ if (tokens.size() == 1) return 0;
+ return tokens[1].toInt();
} else if (tokens[0] != "" or tokens.size() != 1) {
u32int i = 0;
bool found = false;