|
PatchworkOS
|
Process structure. More...
#include <process.h>
Public Member Functions | |
| _Atomic (priority_t) priority | |
| _Atomic (uint64_t) status | |
Data Fields | |
| ref_t | ref |
| pid_t | id |
| argv_t | argv |
| space_t | space |
| vfs_ctx_t | vfsCtx |
| futex_ctx_t | futexCtx |
| wait_queue_t | dyingWaitQueue |
| atomic_bool | isDying |
| process_threads_t | threads |
| rwlock_t | childrenLock |
| list_entry_t | siblingEntry |
| list_t | children |
| list_entry_t | zombieEntry |
| struct process * | parent |
| dentry_t * | dir |
The /proc/[pid] directory for this process. | |
| dentry_t * | prioFile |
The /proc/[pid]/prio file. | |
| dentry_t * | cwdFile |
The /proc/[pid]/cwd file. | |
| dentry_t * | cmdlineFile |
The /proc/[pid]/cmdline file. | |
| dentry_t * | noteFile |
The /proc/[pid]/note file. | |
| dentry_t * | waitFile |
The /proc/[pid]/wait file. | |
| mount_t * | self |
The /proc/[pid]/self mount point. | |
| process_t::_Atomic | ( | priority_t | ) |
| process_t::_Atomic | ( | uint64_t | ) |
| argv_t process_t::argv |
Definition at line 58 of file process.h.
Referenced by loader_load_program(), loader_process_entry(), loader_setup_argv(), process_cmdline_read(), process_free(), and process_init().
| list_t process_t::children |
Definition at line 68 of file process.h.
Referenced by process_free(), and process_init().
| rwlock_t process_t::childrenLock |
Definition at line 66 of file process.h.
Referenced by process_free(), and process_init().
| dentry_t* process_t::cmdlineFile |
The /proc/[pid]/cmdline file.
Definition at line 74 of file process.h.
Referenced by process_dir_init(), and process_init().
| dentry_t* process_t::cwdFile |
The /proc/[pid]/cwd file.
Definition at line 73 of file process.h.
Referenced by process_dir_init(), and process_init().
| dentry_t* process_t::dir |
The /proc/[pid] directory for this process.
Definition at line 71 of file process.h.
Referenced by process_dir_init(), and process_init().
| wait_queue_t process_t::dyingWaitQueue |
Definition at line 63 of file process.h.
Referenced by process_free(), process_init(), process_kill(), process_wait_poll(), and process_wait_read().
| futex_ctx_t process_t::futexCtx |
Definition at line 62 of file process.h.
Referenced by process_free(), process_init(), and SYSCALL_DEFINE().
| pid_t process_t::id |
Definition at line 55 of file process.h.
Referenced by exception_handler(), loader_process_entry(), loader_spawn(), note_queue_write(), panic(), process_free(), process_get_kernel(), process_init(), process_kill(), process_new(), process_procfs_init(), sched_invoke(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), thread_free(), thread_get_boot(), thread_init(), and thread_send_note().
| atomic_bool process_t::isDying |
Definition at line 64 of file process.h.
Referenced by process_free(), process_init(), process_kill(), process_wait_poll(), process_wait_read(), and thread_new().
| dentry_t* process_t::noteFile |
The /proc/[pid]/note file.
Definition at line 75 of file process.h.
Referenced by process_dir_init(), and process_init().
| struct process* process_t::parent |
Definition at line 70 of file process.h.
Referenced by process_free(), process_init(), and process_is_child().
| dentry_t* process_t::prioFile |
The /proc/[pid]/prio file.
Definition at line 72 of file process.h.
Referenced by process_dir_init(), and process_init().
| ref_t process_t::ref |
Definition at line 54 of file process.h.
Referenced by process_init(), and process_kill().
| mount_t* process_t::self |
The /proc/[pid]/self mount point.
Definition at line 77 of file process.h.
Referenced by process_dir_init(), and process_init().
| list_entry_t process_t::siblingEntry |
Definition at line 67 of file process.h.
Referenced by process_free(), and process_init().
| space_t process_t::space |
Definition at line 60 of file process.h.
Referenced by gop_mmap(), loader_load_program(), process_free(), process_init(), shmem_mmap(), stack_pointer_deinit(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), thread_copy_from_user(), thread_copy_from_user_pathname(), thread_copy_from_user_terminated(), thread_copy_to_user(), thread_handle_page_fault(), thread_load(), thread_load_atomic_from_user(), vmm_map_bootloader_lower_half(), and vmm_unmap_bootloader_lower_half().
| process_threads_t process_t::threads |
Definition at line 65 of file process.h.
Referenced by process_free(), process_init(), process_kill(), process_note_write(), thread_free(), and thread_init().
| vfs_ctx_t process_t::vfsCtx |
Definition at line 61 of file process.h.
Referenced by init_process_spawn(), process_cwd_read(), process_init(), process_kill(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), SYSCALL_DEFINE(), vfs_walk(), and vfs_walk_parent().
| dentry_t* process_t::waitFile |
The /proc/[pid]/wait file.
Definition at line 76 of file process.h.
Referenced by process_dir_init(), and process_init().
| list_entry_t process_t::zombieEntry |
Definition at line 69 of file process.h.
Referenced by process_init().