Nucleus
Barry Global object lists 5be6a64 (3 years, 3 months ago)
diff --git a/task/task.c b/task/task.c
index 8b64df0..7026698 100644
--- a/task/task.c
+++ b/task/task.c
@@ -75,6 +75,7 @@ init_tasking(void)
current = new(&taskType);
asm volatile("mov %%cr3, %0" : "=r" (current->pageDir));
+ current->state = RUNNING;
init_scheduler();
register_interrupt(0, timer_handler);
diff --git a/task/time.c b/task/time.c
index 39675e4..345b491 100644
--- a/task/time.c
+++ b/task/time.c
@@ -17,10 +17,9 @@ timer_handler(struct InterruptFrame *frame)
{
monotonic++;
- /* Account timeslices */
- slice[CPUID]++;
if (!current)
return;
+ slice[CPUID]++;
/* Call scheduler */
if (slice[CPUID] < current->priority)