MOS Source Code
Loading...
Searching...
No Matches
Process Struct Reference

#include <task_types.hpp>

+ Inheritance diagram for Process:
+ Collaboration diagram for Process:

Public Member Functions

 Process (Private, Process *parent, mos::string_view name)
 
 ~Process ()
 

Static Public Member Functions

static ProcessNew (Process *parent, mos::string_view name)
 

Public Attributes

 PrivateTag
 
const u32 magic = MOS_FOURCC('P', 'R', 'O', 'C')
 
pid_t pid
 
mos::string name
 
Processparent
 
list_head children
 list of children processes
 
 as_linked_list
 node in the parent's children list
 
bool exited
 true if the process has exited
 
u32 exit_status
 exit status
 
fd_type files [MOS_PROCESS_MAX_OPEN_FILES]
 
Threadmain_thread
 
mos::list< Thread * > thread_list
 
MMContextmm
 
dentry_tworking_directory
 
platform_process_options_t platform_options
 platform per-process flags
 
process_signal_info_t signal_info
 signal handling info
 

Additional Inherited Members

- Static Public Attributes inherited from NamedType<"Process">
static constexpr mos::string_view type_name
 

Detailed Description

Definition at line 49 of file task_types.hpp.

Constructor & Destructor Documentation

◆ Process()

Process ( Private ,
Process * parent,
mos::string_view name )
explicit

Definition at line 67 of file process.cpp.

Referenced by New(), and Process().

+ Here is the call graph for this function:

◆ ~Process()

~Process ( )

Definition at line 101 of file process.cpp.

Member Function Documentation

◆ New()

static Process * New ( Process * parent,
mos::string_view name )
inlinestatic

Definition at line 80 of file task_types.hpp.

Referenced by kthread_init(), process_do_fork(), and process_new().

+ Here is the call graph for this function:

Member Data Documentation

◆ PrivateTag

PrivateTag

Definition at line 51 of file task_types.hpp.

◆ magic

const u32 magic = MOS_FOURCC('P', 'R', 'O', 'C')

Definition at line 57 of file task_types.hpp.

Referenced by Process().

◆ pid

◆ name

◆ parent

Process* parent

Definition at line 60 of file task_types.hpp.

Referenced by New(), and Process().

◆ children

list_head children

list of children processes

Definition at line 61 of file task_types.hpp.

Referenced by Process(), and process_exit().

◆ as_linked_list

as_linked_list

node in the parent's children list

Definition at line 62 of file task_types.hpp.

◆ exited

bool exited

true if the process has exited

Definition at line 64 of file task_types.hpp.

◆ exit_status

u32 exit_status

exit status

Definition at line 65 of file task_types.hpp.

◆ files

◆ main_thread

Thread* main_thread

◆ thread_list

mos::list<Thread *> thread_list

Definition at line 70 of file task_types.hpp.

Referenced by signal_send_to_process(), and thread_allocate().

◆ mm

◆ working_directory

dentry_t* working_directory

Definition at line 73 of file task_types.hpp.

Referenced by process_do_fork(), and process_new().

◆ platform_options

platform_process_options_t platform_options

platform per-process flags

Definition at line 75 of file task_types.hpp.

Referenced by x86_setup_thread_common().

◆ signal_info

process_signal_info_t signal_info

signal handling info

Definition at line 77 of file task_types.hpp.

Referenced by Process(), process_do_fork(), and process_register_signal_handler().


The documentation for this struct was generated from the following files: