summaryrefslogtreecommitdiff
path: root/src/kernel/task/syscall.c
diff options
context:
space:
mode:
authorkatchup <alexis211@gmail.com>2010-12-12 17:29:31 +0100
committerkatchup <alexis211@gmail.com>2010-12-12 17:29:31 +0100
commit07b15b375ee7cc87f476200b2fd6205959ac0ba4 (patch)
tree37176f4e76285b3971c721a027aff047b81f4a2e /src/kernel/task/syscall.c
parent43c6a4a1e7d76e82b9a1d4757c5b5c12f92905d7 (diff)
downloadTCE-07b15b375ee7cc87f476200b2fd6205959ac0ba4.tar.gz
TCE-07b15b375ee7cc87f476200b2fd6205959ac0ba4.zip
New heap, simple and bug-free, but inefficient.
Diffstat (limited to 'src/kernel/task/syscall.c')
-rw-r--r--src/kernel/task/syscall.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/kernel/task/syscall.c b/src/kernel/task/syscall.c
index 46ccff6..3ae546f 100644
--- a/src/kernel/task/syscall.c
+++ b/src/kernel/task/syscall.c
@@ -1,5 +1,6 @@
#include "syscall.h"
#include "task.h"
+#include <core/sys.h>
#define CALL0(name, scname) static void scname(struct registers* r) { r->eax = name(); }
#define CALL1(name, scname) static void scname(struct registers* r) { \
@@ -26,7 +27,9 @@ CALL2(shm_create, shm_create_sc);
CALL1(shm_delete, shm_delete_sc);
static void thread_new_sc(struct registers* r) {
+ cli();
thread_new(current_thread->process, (thread_entry)r->ebx, (void*)r->ecx, (void*)r->edx);
+ sti();
}
int_callback syscalls[NUMBER_OF_SYSCALLS] = {