serenity/Kernel/Syscalls
Tom 6cb640eeba Kernel: Move some time related code from Scheduler into TimeManagement
Use the TimerQueue to expire blocking operations, which is one less thing
the Scheduler needs to check on every iteration.

Also, add a BlockTimeout class that will automatically handle relative or
absolute timeouts as well as overriding timeouts (e.g. socket timeouts)
more consistently.

Also, rework the TimerQueue class to be able to fire events from
any processor, which requires Timer to be RefCounted. Also allow
creating id-less timers for use by blocking operations.
2020-11-30 13:17:02 +01:00
..
access.cpp
alarm.cpp Kernel: Move some time related code from Scheduler into TimeManagement 2020-11-30 13:17:02 +01:00
beep.cpp Kernel: Move some time related code from Scheduler into TimeManagement 2020-11-30 13:17:02 +01:00
chdir.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
chmod.cpp Kernel: Use Userspace<T> for the chmod syscall 2020-08-10 12:52:15 +02:00
chown.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
chroot.cpp Kernel: Use Userspace<T> for the chroot syscall 2020-08-10 12:52:15 +02:00
clock.cpp Kernel: Move some time related code from Scheduler into TimeManagement 2020-11-30 13:17:02 +01:00
debug.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
disown.cpp
dup2.cpp Kernel+LibC+UserspaceEmulator: Bring back sys$dup2() 2020-08-15 11:11:34 +02:00
execve.cpp Kernel: Don't leak ref on executable inode in sys$execve() 2020-11-23 16:08:42 +01:00
exit.cpp
fcntl.cpp
fork.cpp Kernel: Inherit shared buffers when forking 2020-11-23 09:39:32 +01:00
ftruncate.cpp
futex.cpp Kernel: Move some time related code from Scheduler into TimeManagement 2020-11-30 13:17:02 +01:00
get_dir_entries.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
get_stack_bounds.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
getrandom.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
getuid.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
hostname.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
ioctl.cpp
kill.cpp Kernel: Rename Process::is_ring0/3 to Process::is_kernel/user_process 2020-09-10 19:57:15 +02:00
link.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
lseek.cpp
mkdir.cpp
mknod.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
mmap.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
module.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
mount.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
open.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
perf_event.cpp
pipe.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
pledge.cpp Kernel: Unbreak sys$pledge() 2020-09-17 15:07:20 +02:00
process.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
profiling.cpp
ptrace.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
purge.cpp
read.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
readlink.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
realpath.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
rename.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
rmdir.cpp
sched.cpp Kernel: Make Thread refcounted 2020-09-27 19:46:04 +02:00
select.cpp Kernel: Move some time related code from Scheduler into TimeManagement 2020-11-30 13:17:02 +01:00
sendfd.cpp
setkeymap.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
setpgid.cpp Kernel: Distinguish between new and old process groups with equal pgids 2020-08-19 21:21:34 +02:00
setuid.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
shbuf.cpp Kernel: Fix SharedBuffer reference counting on fork 2020-11-24 21:26:39 +01:00
shutdown.cpp Kernel: Add shutdown commands for other virtualizers 2020-08-30 10:31:39 +02:00
sigaction.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
socket.cpp Kernel+LibC+UserspaceEmulator: Add SO_TIMESTAMP, and cmsg definitions 2020-09-17 17:23:01 +02:00
stat.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
sync.cpp
sysconf.cpp Kernel: Implement _SC_OPEN_MAX 2020-09-27 01:02:11 +02:00
thread.cpp Kernel: Fix a few deadlocks with Thread::m_lock and g_scheduler_lock 2020-10-26 08:57:25 +01:00
times.cpp Kernel: Move some time related code from Scheduler into TimeManagement 2020-11-30 13:17:02 +01:00
ttyname.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
umask.cpp
uname.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
unlink.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
unveil.cpp Kernel: Add unveil('b') 2020-11-23 18:37:40 +01:00
utime.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
waitid.cpp Kernel: Make Thread refcounted 2020-09-27 19:46:04 +02:00
watch_file.cpp
write.cpp Kernel: Use Userspace<> for sys$writev 2020-09-15 20:20:38 +02:00