MOS Source Code
|
#include <task_types.h>
Public Attributes | |
u32 | magic |
tid_t | tid |
const char * | name |
process_t * | owner |
as_linked_list | |
node in the process's thread list | |
thread_mode | mode |
user-mode thread or kernel-mode | |
spinlock_t | state_lock |
protects the thread state | |
thread_state_t | state |
thread state | |
downwards_stack_t | u_stack |
user-mode stack | |
downwards_stack_t | k_stack |
kernel-mode stack | |
platform_thread_options_t | platform_options |
platform-specific thread options | |
waitlist_t | waiters |
list of threads waiting for this thread to exit | |
thread_signal_info_t | signal_info |
Definition at line 74 of file task_types.h.
u32 magic |
Definition at line 76 of file task_types.h.
Referenced by thread_allocate(), and thread_is_valid().
tid_t tid |
Definition at line 77 of file task_types.h.
Referenced by create_thread(), do_syslog(), process_do_fork(), reschedule_for_waitlist(), thread_allocate(), thread_complete_init(), thread_destroy(), and vsnprintf_do_pointer_kernel().
const char* name |
Definition at line 78 of file task_types.h.
Referenced by do_syslog(), MOS_STATIC_ASSERT(), MOS_STATIC_ASSERT(), process_do_execveat(), process_do_fork(), thread_destroy(), thread_new(), and vsnprintf_do_pointer_kernel().
process_t* owner |
Definition at line 79 of file task_types.h.
Referenced by _thread_do_print(), do_syslog(), elf_setup_main_thread(), platform_context_setup_child_thread(), process_do_execveat(), reschedule(), thread_allocate(), thread_destroy(), thread_wait_for_tid(), and x86_setup_thread_common().
as_linked_list |
node in the process's thread list
Definition at line 80 of file task_types.h.
thread_mode mode |
user-mode thread or kernel-mode
Definition at line 81 of file task_types.h.
Referenced by _thread_do_print(), do_restore_fp_context(), do_save_fp_context(), platform_context_cleanup(), platform_context_clone(), platform_context_setup_child_thread(), process_do_execveat(), process_do_fork(), reschedule(), signal_send_to_thread(), thread_allocate(), thread_destroy(), x86_setup_thread_common(), x86_xrstor_thread(), and x86_xsave_thread().
spinlock_t state_lock |
protects the thread state
Definition at line 82 of file task_types.h.
Referenced by blocked_reschedule(), naive_sched_select_next(), process_destroy(), process_do_execveat(), reschedule(), scheduler_wake_thread(), thread_destroy(), thread_exit(), thread_exit_locked(), and thread_new().
thread_state_t state |
thread state
Definition at line 83 of file task_types.h.
Referenced by _thread_do_print(), blocked_reschedule(), platform_dump_thread_kernel_stack(), reschedule(), reschedule_for_waitlist(), scheduler_add_thread(), scheduler_wake_thread(), thread_allocate(), thread_destroy(), thread_exit_locked(), and waitlist_wake().
downwards_stack_t u_stack |
user-mode stack
Definition at line 84 of file task_types.h.
Referenced by _thread_do_print(), elf_do_fill_process(), elf_setup_main_thread(), platform_context_clone(), platform_context_setup_child_thread(), process_do_execveat(), process_do_fork(), thread_destroy(), thread_new(), and x86_setup_thread_common().
downwards_stack_t k_stack |
kernel-mode stack
Definition at line 85 of file task_types.h.
Referenced by platform_context_clone(), platform_dump_thread_kernel_stack(), platform_switch_to_thread(), platform_thread_regs(), process_do_fork(), thread_destroy(), thread_new(), thread_setup_common(), and x86_setup_thread_common().
platform_thread_options_t platform_options |
platform-specific thread options
Definition at line 87 of file task_types.h.
Referenced by do_restore_fp_context(), do_save_fp_context(), platform_context_cleanup(), platform_context_clone(), x86_set_fsbase(), x86_setup_thread_common(), x86_xrstor_thread(), and x86_xsave_thread().
waitlist_t waiters |
list of threads waiting for this thread to exit
Definition at line 89 of file task_types.h.
Referenced by thread_allocate(), thread_exit_locked(), and thread_wait_for_tid().
thread_signal_info_t signal_info |
Definition at line 91 of file task_types.h.
Referenced by process_do_fork(), signal_send_to_thread(), and thread_allocate().