utils.rs 474 B

1234567891011121314151617
  1. use crate::process::ProcessManager;
  2. use super::{ProcessFlags, __PROCESS_MANAGEMENT_INIT_DONE};
  3. pub fn current_pcb_flags() -> ProcessFlags {
  4. if unsafe { !__PROCESS_MANAGEMENT_INIT_DONE } {
  5. return ProcessFlags::empty();
  6. }
  7. return *ProcessManager::current_pcb().flags();
  8. }
  9. pub fn current_pcb_preempt_count() -> usize {
  10. if unsafe { !__PROCESS_MANAGEMENT_INIT_DONE } {
  11. return 0;
  12. }
  13. return ProcessManager::current_pcb().preempt_count();
  14. }