This commit is contained in:
Baptiste Wicht 2014-02-12 16:08:01 +01:00
parent a48d497a08
commit c501dcda70

View File

@ -103,14 +103,11 @@ void gc_task(){
} }
desc.segments.clear(); desc.segments.clear();
//5. Release break space //5. Release virtual kernel stack
//TODO Implement that once break space is done
//6. Release virtual kernel stack
virtual_allocator::free(desc.virtual_kernel_stack, scheduler::kernel_stack_size / paging::PAGE_SIZE); virtual_allocator::free(desc.virtual_kernel_stack, scheduler::kernel_stack_size / paging::PAGE_SIZE);
paging::unmap_pages(desc.virtual_kernel_stack, scheduler::kernel_stack_size / paging::PAGE_SIZE); paging::unmap_pages(desc.virtual_kernel_stack, scheduler::kernel_stack_size / paging::PAGE_SIZE);
//7. Remove process from run queue //6. Remove process from run queue
size_t index = 0; size_t index = 0;
for(; index < run_queue(desc.priority).size(); ++index){ for(; index < run_queue(desc.priority).size(); ++index){
std::lock_guard<mutex> l(run_queue_lock(desc.priority)); std::lock_guard<mutex> l(run_queue_lock(desc.priority));
@ -121,7 +118,7 @@ void gc_task(){
} }
} }
//8. Clean process //7. Clean process
desc.pid = 0; desc.pid = 0;
desc.ppid = 0; desc.ppid = 0;
desc.system = false; desc.system = false;
@ -132,7 +129,7 @@ void gc_task(){
desc.context = nullptr; desc.context = nullptr;
desc.brk_start = desc.brk_end = 0; desc.brk_start = desc.brk_end = 0;
//9. Release the PCB slot //8. Release the PCB slot
process.state = scheduler::process_state::EMPTY; process.state = scheduler::process_state::EMPTY;
} }
} }