Module task

Module task 

Source
Expand description

Task module.

The task module defines the structure and behavior of tasks in the system.

Modulesยง

elf_loader
ELF Loading Module
namespace
Task namespace module.
syscall
Task-related system call implementations.

Structsยง

AbiZone
ABI Zone structure holding a memory range with an owned ABI module.
AtomicTaskState
Atomic task state for thread-safe state management
CloneFlags
ManagedPage
Task
TaskLocal
A cell type for task-local data that is only accessed by the hart currently executing the task.

Enumsยง

BlockedType
Types of blocked states for tasks
CloneFlagsDef
TaskState
TaskType
WaitError

Staticsยง

PARENT_WAITPID_WAKERS ๐Ÿ”’
Note: TASK_ID has been moved to TaskPool::next_id for better ID management including recycling of freed task IDs. Use TaskPool::allocate_id() instead.
WAITPID_WAKERS ๐Ÿ”’
Global registry of task-specific wakers for waitpid

Functionsยง

cleanup_parent_waker
Clean up the parent waker for a specific task
cleanup_task_waker
Clean up the waker for a specific task
get_parent_waitpid_waker
Get or create a parent waker for waitpid(-1) operations
get_waitpid_waker
Get or create a waker for waitpid/wait operations for a specific task
init_parent_waitpid_wakers ๐Ÿ”’
Initialize the parent waitpid waker registry
init_waitpid_wakers ๐Ÿ”’
Initialize the waitpid wakers registry
mytask
Get the current task.
new_kernel_task
Create a new kernel task.
new_user_task
Create a new user task.
set_current_task_cwd
Set the current working directory for the current task via VfsManager
task_initial_kernel_entrypoint
Internal function to perform kernel context switch between tasks This function is called when a task is first scheduled.
wake_parent_waiters
Wake up a parent process waiting for any child (waitpid(-1))
wake_task_waiters
Wake up any processes waiting for a specific task