General Purpose library for Freestanding C++ and POSIX systems
Nie możesz wybrać więcej, niż 25 tematów
Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
|
#pragma once
|
|
|
|
#include "gp/indexed_array.hpp"
|
|
#include "gp/vfs/process_data.hpp"
|
|
#include "gp/vfs/runqueue.hpp"
|
|
|
|
namespace gp{
|
|
|
|
class system;
|
|
|
|
struct scheduler {
|
|
topic_list::node_ptr previous;
|
|
topic_list::node_ptr current;
|
|
size_t id;
|
|
system& sys;
|
|
|
|
no_inline_decl(
|
|
void yield_to(topic_list::node_ptr target)
|
|
);
|
|
|
|
scheduler(class system&, size_t token);
|
|
|
|
[[noreturn]] void startup();
|
|
|
|
void yield();
|
|
};
|
|
|
|
}
|