Commit Graph

52 Commits

Author SHA1 Message Date
Matheus 24be70ac29 signals: fix sigset 2024-09-05 18:23:13 -03:00
Matheus 2e302a4d38 signal: way to signal all processes 2024-09-05 16:36:52 -03:00
Matheus 42bda0bf92 vfs: redo locking 2024-08-26 21:47:23 -03:00
Matheus 7cad8f53f2 tcp: initial implementation 2024-06-03 22:02:58 -03:00
Matheus 9260c8cb96 scheduler: use a linked list for threads in a process instead of a table 2024-05-29 12:55:10 -03:00
Matheus 5f7791cd08 syscalls: fchdir, setitimer, getitimer 2024-05-29 11:14:07 -03:00
Matheus b28e556a81 scheduler: interrupt thing fix 2024-05-28 17:47:06 -03:00
Matheus d2527bee92 context changes and scheduler userspace check fix 2024-05-27 22:00:59 -03:00
Matheus 7a27157d75 scheduler: fix concurrency issues 2024-05-26 20:52:45 -03:00
Matheus a65e7fa8cc signal: check for pending signals before yield 2024-05-22 17:49:49 -03:00
Matheus 6bc3747856 scheduler: sched_terminateprogram() 2024-05-22 17:10:33 -03:00
Matheus e965ae3ec4 signals: retry in case of ignored signal 2024-05-22 10:44:00 -03:00
Matheus b61d391778 scheduler: hold reference on sched_getprocfrompid 2024-05-22 09:44:11 -03:00
Matheus 1b63e9b436 signals: more general changes 2024-05-17 18:48:57 -03:00
Matheus 7b0cc4c51b initial signal implementation 2024-05-14 15:04:48 -03:00
Matheus bf841406d5 semaphore: signal safety 2024-05-08 20:13:12 -03:00
Matheus a2c7db6561 init: withx option 2024-05-07 21:54:12 -03:00
Matheus f2f7a629cc file: use mutex for locking rather than spinlock 2024-05-07 18:52:05 -03:00
Matheus dd46c4b766 scheduler: fix kernel stack unmapping 2024-05-01 22:41:59 -03:00
Matheus 05049a091f job control: sessions and process groups 2024-05-01 21:42:38 -03:00
Matheus e0c2cd9a2a scheduler: pid refcount 2024-04-28 18:45:43 -03:00
Matheus 8deb3a1144 context: CTX_INIT interrupt flag 2024-04-28 14:32:28 -03:00
Matheus 6d04deeac9 kernel: expose threads to userspace (newthread and threadexit syscalls) 2024-04-14 16:12:52 -03:00
Matheus 2cb94c2c2e scheduler: handle userland thread exit 2024-04-14 14:00:11 -03:00
Matheus d33ef16f87 scheduler: sched_stopotherthreads() 2024-04-14 13:21:54 -03:00
Matheus 55f407da08 scheduler: handle interruptions in sched_yield() when sleeping as to prevent lost wakeup 2024-04-14 12:42:43 -03:00
Matheus 52ab80bc9a scheduler: better define wakeup reasons 2024-03-30 18:39:26 -03:00
Matheus 57c94ebf15 smp: let other processors run threads 2023-11-30 17:54:32 -03:00
Matheus 6d8c0c30cf scheduler: sched_usleep 2023-10-15 20:58:10 -03:00
Matheus 2cf201746a scheduler: fix use of non zero'd memory 2023-08-12 23:10:22 -03:00
Matheus 755fd1a8d1 scheduler: don't depend on devfs being mounted 2023-07-26 00:17:29 -03:00
Matheus ac8cdfb2f3 scheduler: add yield after halt in cpuidlethread 2023-07-20 14:24:52 -03:00
Matheus e4d2b8f657 scheduler: cpu target 2023-07-09 12:00:29 -03:00
Matheus c20d0e790f scheduler: umask default value and fpu saving in x86_64 context 2023-07-08 22:54:34 -03:00
Matheus 1621bb1a9b scheduler: fix threadexit interrupt disable 2023-07-03 22:48:04 -03:00
Matheus 7e7504cde7 scheduler: sched_setroot and sched_setcwd 2023-06-27 19:34:45 -03:00
Matheus facd03f2e8 tools: basic init 2023-06-26 23:36:38 -03:00
Matheus e3bc7e8b8b timers: use DPCs to handle callbacks 2023-06-26 19:46:30 -03:00
Matheus 1256960e78 scheduler: fix newproc() unitialized variable 2023-06-12 21:13:55 -03:00
Matheus f2b76caa84 vmm: change how vmm_destroycontext is handled 2023-06-10 12:09:46 -03:00
Matheus b9fe4cc3b1 kernel: exit syscall 2023-05-30 10:32:58 -03:00
Matheus 96bb14c88a scheduler: bash login shell 2023-05-14 11:08:54 -03:00
Matheus 0e0c538b15 scheduler: assign pids and tids 2023-05-13 22:29:35 -03:00
Matheus af2459a042 scheduler: init stdin, stdout and stderr 2023-05-13 21:13:20 -03:00
Matheus cfdab9598d scheduler: getcwd, getroot, and initialise process cwd and root to vfsroot 2023-05-09 23:25:56 -03:00
Matheus e785da6cb3 kernel: file_t, fd_t and a few helper functions 2023-05-09 00:13:51 -03:00
Matheus a49e6358be scheduler: load init with interpreter 2023-05-07 22:36:42 -03:00
Matheus 25778838ba scheduler: runinit 2023-05-07 20:26:12 -03:00
Matheus 433155bb74 scheduler: sleeping support 2023-05-03 20:19:05 -03:00
Matheus b5d4fc07e2 scheduler: have a separate stack for yield 2023-05-03 19:11:40 -03:00