31 Commits

Author SHA1 Message Date
Theodore Dubois
4a8efe8d01 Make various memory management things shared between threads 2018-10-07 13:02:15 -07:00
Theodore Dubois
62a699603b Add half-finished files app integration 2018-09-22 15:18:45 -07:00
Theodore Dubois
601ed99dc3 Make sure different processes have different pids 2018-06-17 15:15:42 -07:00
Theodore Dubois
8a04545386 Enable creating threads 2018-02-02 16:57:36 -08:00
Theodore Dubois
8304fe0d2d Mark CLONE_THREAD as implemented 2018-02-01 17:25:49 -08:00
Theodore Dubois
428f414d48 Don't inherit the vfork_done flag 2018-02-01 17:23:18 -08:00
Theodore Dubois
76124c1933 First pass at implementing exit_group 2018-02-01 17:23:00 -08:00
Theodore Dubois
7e5e9e5c1f First pass at implementing thread groups
It builds and will give you a shell. Gonna call it a day.
2018-01-28 15:42:42 -08:00
Theodore Dubois
b07a0f6de8 Implement CLONE_CHILD_CLEARTID 2018-01-22 13:48:24 -08:00
Theodore Dubois
d6a44b6458 Require CLONE_VM for CLONE_SIGHAND and CLONE_SIGHAND for CLONE_THREAD 2018-01-22 13:08:19 -08:00
Theodore Dubois
56f7d13e47 Fix cleanup in copy_task 2018-01-22 13:06:17 -08:00
Theodore Dubois
a5fb79920c Split signal handlers into a separate structure and clone flag 2018-01-21 20:52:16 -08:00
Theodore Dubois
0b155737fb Ignore CLONE_SYSVSEM 2018-01-21 18:04:59 -08:00
Theodore Dubois
1dae2830e3 Implement CLONE_PARENT_SETTID 2018-01-21 18:02:49 -08:00
Theodore Dubois
f419eddfff Implement CLONE_SETTLS 2018-01-21 17:57:53 -08:00
Theodore Dubois
dbe0acb120 Implement CLONE_FS 2018-01-21 17:40:45 -08:00
Theodore Dubois
eddf023669 Move pwd, root, uname out into its own struct 2018-01-21 17:24:32 -08:00
Theodore Dubois
45e3fb1eec Reshuffle some of the code for clone 2018-01-21 12:54:50 -08:00
Theodore Dubois
6a907425e6 Rename process to task 2018-01-21 12:44:55 -08:00
Theodore Dubois
728ca235c0 Replace files array with fdtable structure 2018-01-15 19:18:38 -08:00
Theodore Dubois
77f9c73be9 Remove magic from locking macros 2018-01-14 18:18:12 -08:00
Theodore Dubois
bf3b711cdd Implement tracking of process cpu usage 2018-01-10 15:33:11 -08:00
Theodore Dubois
2b5374c21b Rename start_thread and remove cpu parameter to handle_interrupt 2017-12-24 12:15:14 -08:00
Theodore Dubois
5211b1e101 Improve sanity of process locking 2017-12-20 00:33:56 -08:00
Theodore Dubois
5d2fdd3e18 Reduce magic in locking macros 2017-12-19 22:48:43 -08:00
Theodore Dubois
1be9d13811 Pass 0 to sys_clone from sys_fork and sys_vfork 2017-12-17 19:18:57 -08:00
Theodore Dubois
25425a1db2
Correctly check for nonzero stack, fix #8 2017-12-17 11:12:41 -08:00
Theodore Dubois
bd6ab0f1e2 Add a refcounted layer between pagetables and actual data 2017-12-14 14:35:00 -08:00
Theodore Dubois
f59d419c0e Duplicate fds on fork and close them on exit 2017-12-06 16:47:56 -08:00
Theodore Dubois
a39d1fbd3d Add a TODO message for when I'll need to implement threads 2017-11-29 16:58:26 -08:00
Theodore Dubois
f1e63c43e0 Rename sys directory to kernel
A number of the headers in it were conflicting with macOS system
headers.
2017-10-13 16:54:11 -07:00