#include <list.h>
#include <frame.h>
#include <scheduler.h>
Go to the source code of this file.
Data Structures | |
struct | Task |
Defines | |
#define | EXECNAME_LIMIT 256 |
#define | EXECVEC_ARGV_LIMIT 256 |
#define | EXECVEC_BUFFER_LIMIT 4096 |
Typedefs | |
typedef Task | Task |
Functions | |
int | task_manager_initialize (void) |
Initializes the task manager. | |
Task * | task_current (void) |
Gets the currently running task. | |
Task * | task_create (Task *parent) |
Creates a new task. | |
void | task_destroy (Task *task) |
Destroys a task. | |
Task * | task_fork (void) |
Forks a task. | |
int | task_exec (Task *task, char *execname, char **execvec) |
void | task_exit (Task *) |
Free resources for an exiting task. |
Provides the interface for task management.
|
Creates a new task. Creates a new task and inserts it to the back of the list
|
|
Gets the currently running task. returns the task of the currently running thread
|
|
Destroys a task. Kills a task that was in the list of tasks
|
|
Free resources for an exiting task. This should be called once the last thread of a task has exited to free any resources associated with the task and wake any threads waiting for it to complete.
|
|
Forks a task. Forks a new task that is a copy of the current task
|
|
Initializes the task manager. runs the init task
|