From bbaf93b7c8cc551d0b4b898163c60caaa0f9a279 Mon Sep 17 00:00:00 2001
From: Marvin Borner
Date: Tue, 12 May 2020 16:24:11 +0200
Subject: Fixed page fault in scheduler

---
 src/kernel/tasks/process.c | 6 ++++--
 src/kernel/tasks/process.h | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

(limited to 'src/kernel/tasks')

diff --git a/src/kernel/tasks/process.c b/src/kernel/tasks/process.c
index 2f45898..a5b9c87 100644
--- a/src/kernel/tasks/process.c
+++ b/src/kernel/tasks/process.c
@@ -54,10 +54,11 @@ void scheduler(struct regs *regs)
 	paging_switch_directory(current_proc->cr3);
 }
 
-void process_force_switch(struct regs *regs)
+void process_force_switch()
 {
 	quantum = 0;
-	scheduler(regs);
+	timer_wait(1);
+	//scheduler(regs);
 }
 
 void process_init(struct process *proc)
@@ -246,5 +247,6 @@ u32 uspawn(char *path)
 
 	process_spawn(proc);
 	log("Spawned");
+	process_force_switch();
 	return 0;
 }
\ No newline at end of file
diff --git a/src/kernel/tasks/process.h b/src/kernel/tasks/process.h
index b10c63c..32511c0 100644
--- a/src/kernel/tasks/process.h
+++ b/src/kernel/tasks/process.h
@@ -31,7 +31,7 @@ struct process {
 };
 
 void scheduler(struct regs *regs);
-void process_force_switch(struct regs *regs);
+void process_force_switch();
 
 u32 process_spawn(struct process *process);
 void process_suspend(u32 pid);
-- 
cgit v1.2.3