ladybird/Kernel/Syscalls
Nicholas Baron aa4d41fe2c
AK+Kernel+LibELF: Remove the need for IteratorDecision::Continue
By constraining two implementations, the compiler will select the best
fitting one. All this will require is duplicating the implementation and
simplifying for the `void` case.

This constraining also informs both the caller and compiler by passing
the callback parameter types as part of the constraint
(e.g.: `IterationFunction<int>`).

Some `for_each` functions in LibELF only take functions which return
`void`. This is a minimal correctness check, as it removes one way for a
function to incompletely do something.

There seems to be a possible idiom where inside a lambda, a `return;` is
the same as `continue;` in a for-loop.
2021-05-16 10:36:52 +01:00
..
access.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
alarm.cpp Kernel: Modify TimeManagement::current_time(..) API so it can't fail. (#6869) 2021-05-05 18:51:06 +02:00
anon_create.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
beep.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chdir.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chmod.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chown.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chroot.cpp Kernel: Plumb OOM propagation through Custody factory 2021-05-10 11:55:52 +02:00
clock.cpp Kernel: Modify TimeManagement::current_time(..) API so it can't fail. (#6869) 2021-05-05 18:51:06 +02:00
debug.cpp Kernel: Make UserOrKernelBuffer R/W helpers return KResultOr<size_t> 2021-05-13 23:28:40 +02:00
disown.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
dup2.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
emuctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
execve.cpp AK+Kernel+LibELF: Remove the need for IteratorDecision::Continue 2021-05-16 10:36:52 +01:00
exit.cpp Kernel: Add PerformanceManager static class, move perf event APIs there 2021-05-07 15:35:23 +02:00
fcntl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fork.cpp Kernel: Make Process creation APIs OOM safe 2021-05-15 09:01:32 +02:00
ftruncate.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
futex.cpp Kernel: Check futex command if realtime clock is used 2021-04-27 09:19:55 +02:00
get_dir_entries.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
get_stack_bounds.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
getrandom.cpp Kernel: Make UserOrKernelBuffer R/W helpers return KResultOr<size_t> 2021-05-13 23:28:40 +02:00
getuid.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
hostname.cpp Kernel: Remove the now defunct LOCKER(..) macro. 2021-04-25 09:38:27 +02:00
inode_watcher.cpp Kernel: Make InodeWatcher::crate API OOM safe 2021-05-13 16:21:53 +02:00
ioctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
keymap.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
kill.cpp AK+Kernel+LibELF: Remove the need for IteratorDecision::Continue 2021-05-16 10:36:52 +01:00
link.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
lseek.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mkdir.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mknod.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mmap.cpp Kernel: Add PerformanceManager static class, move perf event APIs there 2021-05-07 15:35:23 +02:00
module.cpp AK+Kernel+LibELF: Remove the need for IteratorDecision::Continue 2021-05-16 10:36:52 +01:00
mount.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
open.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
perf_event.cpp Kernel: Make perf_event() work for global profiles 2021-05-15 16:28:18 +02:00
pipe.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pledge.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
prctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
process.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
profiling.cpp Kernel: Unbreak profiling all processes 2021-05-15 21:25:54 +02:00
ptrace.cpp Kernel: Make Process::start_tracing_from API OOM safe 2021-05-13 16:21:53 +02:00
purge.cpp Kernel: Harden sys$purge Vector usage against OOM. 2021-04-29 20:31:15 +02:00
read.cpp Kernel: Harden sys$readv / sys$writev Vector usage against OOM. 2021-04-29 20:31:15 +02:00
readlink.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
realpath.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
rename.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
rmdir.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sched.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
select.cpp Kernel: Harden sys$select Vector usage against OOM. 2021-04-29 20:31:15 +02:00
sendfd.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
setpgid.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
setuid.cpp Kernel: Harden sys$setgroups Vector usage against OOM 2021-05-01 09:10:30 +02:00
shutdown.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sigaction.cpp Kernel: Support null act argument for sigaction syscall 2021-04-24 23:00:28 +02:00
socket.cpp Kernel: Accepted socket file descriptors should not inherit flags 2021-04-30 11:43:19 +02:00
stat.cpp Kernel+LibC: Add fstatat 2021-05-14 23:32:10 +02:00
sync.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sysconf.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
thread.cpp Kernel: Add PerformanceManager static class, move perf event APIs there 2021-05-07 15:35:23 +02:00
times.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ttyname.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
umask.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
uname.cpp Kernel: Remove the now defunct LOCKER(..) macro. 2021-04-25 09:38:27 +02:00
unlink.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
unveil.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utime.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
waitid.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
write.cpp Kernel: Harden sys$readv / sys$writev Vector usage against OOM. 2021-04-29 20:31:15 +02:00