diff options
Diffstat (limited to 'src/kernel/tasks.c')
-rw-r--r-- | src/kernel/tasks.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kernel/tasks.c b/src/kernel/tasks.c index 4dd7f38..30b138b 100644 --- a/src/kernel/tasks.c +++ b/src/kernel/tasks.c @@ -6,6 +6,8 @@ void task_init( task_t *task, uint16_t gdt_code_segment_selector, task_func_t entrypoint ) { memset( task, 0, sizeof( task_t ) ); + + task->nof_switches = 0; task->cpu_state = (cpu_state_t *)( task->stack + TASK_STACK_SIZE - sizeof( cpu_state_t ) ); @@ -71,6 +73,8 @@ cpu_state_t *task_manager_schedule_task( task_manager_t *manager, cpu_state_t *c if( manager->current_task >= manager->nof_tasks ) { manager->current_task = 0; } + + manager->task[manager->current_task]->nof_switches++; return manager->task[manager->current_task]->cpu_state; } |