mirror of
https://github.com/BoredDevNL/BoredOS.git
synced 2026-05-15 10:48:38 +00:00
Introduce process lifecycle and POSIX-like features: add parent_pid, pgid, exited/exit_status, signal state and handlers, waitpid/reap, and an exec-replace function. Refactor file descriptor handling to use fd_kind/fd_flags with reference-counted file refs and in-process pipes; implement open/read/write/close/seek/tell/size/dup/dup2/pipe/fcntl semantics and O_* flags. Add syscall handlers for exec, waitpid, kill/signal, sigaction, sigprocmask, sigpending, meminfo/ticks and map many SYSTEM_CMD_* constants; deliver signals from the syscall path. Cleanup/terminate logic updated to free resources correctly and initialize kernel/user processes with new state. Misc: minor syscall/table renames (wallpaper), helper utilities (process_close_fd_inner, process_init_signal_state) and paging/stack handling for exec.
15 lines
387 B
C
15 lines
387 B
C
#ifndef BOREDOS_LIBC_SYS_WAIT_H
|
|
#define BOREDOS_LIBC_SYS_WAIT_H
|
|
|
|
#include "../sys/types.h"
|
|
|
|
#define WNOHANG 1
|
|
|
|
#define WEXITSTATUS(status) (((status) >> 8) & 0xff)
|
|
#define WIFEXITED(status) ((((status) & 0x7f) == 0) ? 1 : 0)
|
|
#define WTERMSIG(status) ((status) & 0x7f)
|
|
#define WIFSIGNALED(status) (((status) & 0x7f) != 0)
|
|
|
|
pid_t waitpid(pid_t pid, int *status, int options);
|
|
|
|
#endif
|