435 Commits

Author SHA1 Message Date
Mark 92acffb13b Add getppid(2) 2020-07-22 23:13:29 +03:00
Mark b09f7c34a3 O_CLOEXEC for vfs_open*() 2020-07-22 22:34:24 +03:00
Mark 1c2214d912 Remove function declarations from user headers 2020-07-13 21:14:33 +03:00
Mark e466db979a console: add save/unsave seqs, fix kill seq 2020-07-13 18:15:44 +03:00
Mark f79fc98967 Add procfs 2020-07-12 17:10:51 +03:00
Mark fd0ec4150f Add ENABLE_NET and ENABLE_UNIX options 2020-07-11 23:31:41 +03:00
Mark f22591ad93 Move to cmake build system 2020-07-11 22:41:23 +03:00
Mark 25537eeab8 Fix: prevent double queueing of the same thread 2020-07-11 17:50:16 +03:00
Mark 801df710d2 Unclutter debug 2020-07-11 01:20:13 +03:00
Mark f08fcd77da Use struct list_head to link thread in a process 2020-07-10 17:01:24 +03:00
Mark 8ba9dc6b10 Thread termination with exit() syscall 2020-07-10 16:41:40 +03:00
Mark 75be29e98e Inherit signal entry on clone() 2020-07-10 13:57:24 +03:00
Mark fcbb039bc3 PID is now generated in process_init_thread() 2020-07-10 13:43:06 +03:00
Mark 6ae176d516 Add sigaltstack() syscall 2020-07-10 13:41:15 +03:00
Mark 65e5cd552f Free fxsave buffer in process_free 2020-07-08 22:50:49 +03:00
Mark 4df8f39f78 Fix improper interruption of sleep 2020-07-08 13:29:52 +03:00
Mark ea55fbf3ee Add shebang handling 2020-07-07 22:55:50 +03:00
Mark c60ddf21c9 Add (buggy) SIGSTOP/SIGCONT for processes 2020-07-07 21:25:48 +03:00
Mark a6ccddd695 Add (sketchy) unix domain sockets 2020-07-07 15:42:51 +03:00
Mark ecf4262646 Separate notions of "thread" and "process" 2020-07-05 23:16:10 +03:00
Mark d7bc4e2f01 Always reset wait descriptor owner when awakening 2020-07-05 18:55:15 +03:00
Mark b6f29c2cd7 Treat req. pid == pid the same as req. pid == 0 in setpgrp 2020-07-05 18:54:41 +03:00
Mark b8a9f12307 Reenable detailed UBsan messages 2020-07-05 18:54:29 +03:00
Mark b646a11dc3 Fix: pipe() call didn't ref ofiles properly 2020-07-05 18:53:55 +03:00
Mark 2d5fe1dac1 Fix: no NULL is placed at the end of envp/argv 2020-07-05 18:53:20 +03:00
Mark 5b8ef34eeb Move execve() 2020-07-05 17:59:05 +03:00
Mark eae186bbf2 A better set of functions for struct ofile 2020-07-05 17:41:12 +03:00
Mark 061d514beb Add mknod() and named pipes 2020-07-05 17:13:38 +03:00
Mark 6fb5c4cb99 ring: wait when writing and buffer is full 2020-07-05 13:50:35 +03:00
Mark 5de915c6aa Add per-process links and lstat() 2020-07-04 00:44:13 +03:00
Mark dbf4f57913 Use hardware-provided cursor on text-mode displays 2020-07-03 11:19:24 +03:00
Mark 014ff82396 Signal pipe read end on each write 2020-07-03 11:10:36 +03:00
Mark 93ac3dd59a Fix dup2() arg order, add dup() 2020-07-03 11:10:11 +03:00
Mark 80e1d8e330 Fix EOF condition in ring buffer a bit 2020-07-02 12:48:27 +03:00
Mark 6f428c8343 More correct handling of VINTR/VEOF 2020-07-01 17:51:42 +03:00
Mark 5e96775826 Add pipe() and dup2() system calls 2020-07-01 12:03:59 +03:00
Mark 619b2d5e6c Fix invalid waitpid() notification
A thread could waitpid() on PID 1, but receive a notify from PID 2,
leading to assert("PID 1 finished") to fail
2020-06-30 13:42:50 +03:00
Mark a6891fd5e4 Add tab handling to console 2020-06-26 13:07:11 +03:00
Mark 231d5d35f2 Also fix erase 2020-06-25 17:30:21 +03:00
Mark 5ad4e2da38 Fix the remaining old CSIs 2020-06-25 17:29:22 +03:00
Mark 137604d84f Add support for text-mode console 2020-06-25 16:53:08 +03:00
Mark 55b2e665fd Port back CSI handling and cursor blink 2020-06-19 16:40:50 +03:00
Mark dd36f0decf (Maybe) better console subsystem 2020-06-18 16:32:01 +03:00
Mark bc36220152 Remove old console code 2020-06-18 10:54:55 +03:00
Mark 4b23568d2f Remove debug output from wait 2020-06-15 12:50:13 +03:00
Mark 24681a507c Fix procv_strcpy_paged returning zero instead of length 2020-06-15 12:01:58 +03:00
Mark 1f10370b87 Add (hacky) environ handling 2020-06-14 23:31:40 +03:00
Mark 89c48841e0 Don't crash system when have excess memory 2020-06-14 18:17:55 +03:00
Mark f5d6370403 Fix unaligned word accesses 2020-06-12 17:30:41 +03:00
Mark 6ebf440b60 Fix invalid CR3 loading on execve() when timer ticks 2020-06-12 11:12:01 +03:00