[kernel] Added the process_kill syscall

Added process_kill, and also cleaned up all the disparate types being
used for thread/process exit codes. (Now all int32_t.)
This commit is contained in:
Justin C. Miller
2021-01-22 00:38:46 -08:00
parent aae18fd035
commit 0df93eaa98
7 changed files with 24 additions and 10 deletions

View File

@@ -52,7 +52,7 @@ process::create_kernel_process(page_table *pml4)
}
void
process::exit(unsigned code)
process::exit(int32_t code)
{
// TODO: make this thread-safe
m_state = state::exited;

View File

@@ -34,7 +34,7 @@ public:
/// Terminate this process.
/// \arg code The return code to exit with.
void exit(unsigned code);
void exit(int32_t code);
/// Update internal bookkeeping about threads.
void update();
@@ -84,7 +84,7 @@ private:
// This constructor is called by create_kernel_process
process(page_table *kpml4);
uint32_t m_return_code;
int32_t m_return_code;
vm_space m_space;

View File

@@ -136,7 +136,7 @@ thread::wake_on_result(kobject *obj, j6_status_t result)
}
void
thread::exit(uint32_t code)
thread::exit(int32_t code)
{
m_return_code = code;
set_state(state::exited);

View File

@@ -131,7 +131,7 @@ public:
/// Terminate this thread.
/// \arg code The return code to exit with.
void exit(unsigned code);
void exit(int32_t code);
/// Add a stack header that returns to the given address in kernel space.
/// \arg rip The address to return to, must be kernel space
@@ -173,7 +173,7 @@ private:
wait_type m_wait_type;
// There should be 1 byte of padding here
uint32_t m_return_code;
int32_t m_return_code;
uint64_t m_wait_data;
j6_status_t m_wait_result;