General Purpose library for Freestanding C++ and POSIX systems
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

27 líneas
414 B

  1. #pragma once
  2. #include "gp/indexed_array.hpp"
  3. #include "gp/vfs/process_data.hpp"
  4. #include "gp/vfs/runqueue.hpp"
  5. namespace gp{
  6. class system;
  7. struct scheduler {
  8. topic_list::node_ptr previous;
  9. topic_list::node_ptr current;
  10. size_t id;
  11. system& sys;
  12. no_inline_decl(
  13. void yield_to(topic_list::node_ptr target)
  14. );
  15. scheduler(class system&, size_t token);
  16. [[noreturn]] void startup();
  17. void yield();
  18. };
  19. }