MCPcopy Create free account
hub / github.com/Supercip971/WingOS / currentTask

Method currentTask

src/kernel/generic/scheduler.cpp:981–984  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

979 // why re enabling interrupt here ? Because an interrupt can occur between the lock acquire and
980 // int 101 and the interrupt won't be able to handle the lock.
981
982 // scheduler_lock.write_acquire(, int line);
983 asm volatile("int $101" ::: "memory");
984 arch::amd64::interrupt_release();
985 // Interrupts remain disabled (IF=0 from the saved RFLAGS at the int $101 point).
986 // The syscall return path (iretq) restores the user RFLAGS with IF=1.
987 //

Callers 7

interrupt_handlerFunction · 0.80
schedule_other_cpusFunction · 0.80
block_current_taskFunction · 0.80
by_handleMethod · 0.80
syscall_higher_handlerFunction · 0.80
_scheduler_implFunction · 0.80
_scheduler_impl_softFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected