ladybird/Userland
Tom 046d6855f5 Kernel: Move block condition evaluation out of the Scheduler
This makes the Scheduler a lot leaner by not having to evaluate
block conditions every time it is invoked. Instead evaluate them as
the states change, and unblock threads at that point.

This also implements some more waitid/waitpid/wait features and
behavior. For example, WUNTRACED and WNOWAIT are now supported. And
wait will now not return EINTR when SIGCHLD is delivered at the
same time.
2020-11-30 13:17:02 +01:00
..
Tests Tests/Kernel: Remove redundant if (#4111) 2020-11-29 10:41:02 +01:00
adjtime.cpp Userland: Add an "adjtime" utility 2020-11-10 19:03:08 +01:00
allocate.cpp Userland/allocate: Switch to KiB/MiB 2020-08-16 16:33:28 +02:00
aplay.cpp Userland: Add --loop option for aplay 2020-10-15 13:47:42 +02:00
arp.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
avol.cpp Userland: Use Core::ArgsParser for 'avol' 2020-08-06 20:41:13 +02:00
base64.cpp base64: Fix not outputting all decoded data 2020-11-22 16:07:00 +01:00
basename.cpp Userland: Use Core::ArgsParser for 'basename' 2020-08-06 20:41:13 +02:00
cal.cpp Userland: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
cat.cpp Meta+Userland: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
checksum.cpp LibCore: Rename File::ShouldCloseFile{Description => Descriptor} 2020-10-25 13:59:41 +01:00
chgrp.cpp Userland: Use Core::ArgsParser for 'chgrp' 2020-08-06 20:41:13 +02:00
chmod.cpp Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
chown.cpp chown: Don't allow "invalid" uid/gid specs (#2596) 2020-06-21 09:54:07 +02:00
chroot.cpp Userland: chroot: Add --userspec/-u flag to set uid/gid for chroot 2020-11-14 17:14:30 +01:00
clear.cpp clear: Use pledge() 2020-02-18 11:35:47 +01:00
CMakeLists.txt Userland: Add support for 'match' in 'expr' 2020-11-27 21:32:41 +01:00
copy.cpp LibCore: Rename File::ShouldCloseFile{Description => Descriptor} 2020-10-25 13:59:41 +01:00
cp.cpp Userland: Add -v verbose flag to 'cp' 2020-11-17 09:40:03 +01:00
crash.cpp Meta+Userland: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
cut.cpp cut: Accept input from stdin if no files are given 2020-07-03 19:30:13 +02:00
date.cpp AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
df.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
dirname.cpp AK: Eradicate the uses of out(). 2020-10-24 12:56:25 +02:00
disasm.cpp AK: Eradicate the uses of out(). 2020-10-24 12:56:25 +02:00
disk_benchmark.cpp Userland: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
dmesg.cpp AK: Use size_t for ByteBuffer sizes 2020-02-20 13:20:34 +01:00
du.cpp Meta: Replace remaining LibM/math.h includes with math.h 2020-08-12 16:18:33 +02:00
echo.cpp Userland: Add support for the '-n' flag to 'echo' 2020-07-30 18:47:41 +02:00
env.cpp Userland: env: Add -i / --ignore-environment arg to clear env 2020-11-12 18:01:45 +01:00
expr.cpp Userland: Add support for 'match' in 'expr' 2020-11-27 21:32:41 +01:00
false.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
fgrep.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
find.cpp Userland: Implement find -name clause 2020-11-28 14:28:58 +01:00
flock.cpp Everywhere: Replace some uses of fork/exec with posix_spawn 2020-06-29 12:04:27 +02:00
functrace.cpp AK: Rename new_out to out and new_warn to warn. 2020-11-09 16:21:29 +01:00
grep.cpp Userland: Implement -I/-a (binary-mode) and -i (insensitive) for grep 2020-11-29 20:32:10 +01:00
gron.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
gunzip.cpp AK: Lower the requirements for InputStream::eof and rename it. 2020-09-14 20:58:12 +02:00
head.cpp Userspace: Add missing #includes now that AK/StdLibExtras.h is smaller 2020-03-08 13:06:51 +01:00
hexdump.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
host.cpp host: Use ArgsParser to parse arguments, and add man page (#1252) 2020-02-20 15:12:55 +01:00
hostname.cpp Userland: Use Core::ArgsParser for 'hostname' 2020-08-06 20:41:13 +02:00
html.cpp LibCore: Rename File::ShouldCloseFile{Description => Descriptor} 2020-10-25 13:59:41 +01:00
id.cpp Userland: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
ifconfig.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
ini.cpp Userland: Add "ini" command to read and write .ini config files 2020-07-11 23:56:33 +02:00
jp.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
js.cpp LibJS+js: Rename RegExp.{content => pattern} 2020-11-27 21:32:41 +01:00
keymap.cpp keymap: Add copyright header 2020-06-18 23:00:19 +02:00
kill.cpp AK: Rename new_out to out and new_warn to warn. 2020-11-09 16:21:29 +01:00
killall.cpp Userland: Make killall accept signal names as well 2020-10-29 11:49:47 +01:00
ln.cpp ln: Use pledge() 2020-02-18 13:29:54 +01:00
ls.cpp ls: Only append file type indicators when -F or --classify is specified 2020-11-11 20:46:06 +01:00
lsirq.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
lsof.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
lspci.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
man.cpp Userland: Make man provide a view_width to `render_for_terminal()' 2020-10-22 17:49:03 +02:00
md.cpp LibCore: Rename File::ShouldCloseFile{Description => Descriptor} 2020-10-25 13:59:41 +01:00
misbehaving-application.cpp Userland: Provide a misbehaving application 2020-08-17 00:01:13 +02:00
mkdir.cpp AK: Rename FileSystemPath -> LexicalPath 2020-05-26 14:35:10 +02:00
mkfifo.cpp Userland: add mkfifo(1) 2020-07-19 11:46:37 +02:00
mknod.cpp Everywhere: Redundant inline specifier on constexpr functions (#3807) 2020-10-20 18:08:13 +02:00
modload.cpp Userland: Use Core::ArgsParser for 'modload' 2020-08-06 20:41:13 +02:00
modunload.cpp Userland: Use Core::ArgsParser for 'modunload' 2020-08-06 20:41:13 +02:00
more.cpp Userland: Explicitly ignore number of types read, found by Coverity 2020-08-17 09:17:57 +02:00
mount.cpp LibCore: Do not try to null-terminate a ByteBuffer in read_line() 2020-11-29 20:32:10 +01:00
mv.cpp Userland: Make mv capable of moving multiple files 2020-11-29 10:14:43 +01:00
nc.cpp Style: Remove uses of NULL, substituting nullptr 2020-10-13 13:52:52 +02:00
nl.cpp LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
notify.cpp LibGUI: Make GUI::Application a Core::Object 2020-07-04 14:05:57 +02:00
ntpquery.cpp Lagom: Add ntpquery to lagom build 2020-11-12 21:21:33 +01:00
open.cpp Userland: Use new format functions in some programs 2020-10-20 18:08:37 +02:00
pape.cpp LibGUI: Make GUI::Application a Core::Object 2020-07-04 14:05:57 +02:00
passwd.cpp Userland: Convert passwd(1) to use Core::Account 2020-09-21 20:18:05 +02:00
paste.cpp LibGUI: Make the Clipboard API deal in raw byte buffers a bit more 2020-09-05 16:16:01 +02:00
pidof.cpp Userland: Do not put a trailing space after the resulting pids in pidof 2020-10-29 22:27:24 +01:00
ping.cpp Userland: Basic statistics for ping 2020-11-10 12:06:04 +01:00
printf.cpp Userland: Add an implementation of printf 2020-09-11 21:41:23 +02:00
pro.cpp ProtocolServer+LibWeb: Support more detailed HTTP requests 2020-09-28 11:55:26 +02:00
profile.cpp profile: Allow launching a command with profiling enabled 2020-02-22 11:01:37 +01:00
ps.cpp ps: Widen the username column slightly 2020-05-15 00:01:01 +02:00
purge.cpp Userland: Use Core::ArgsParser for 'purge' 2020-08-06 20:41:13 +02:00
readlink.cpp Userland: Add readlink(1) 2020-06-17 15:02:03 +02:00
realpath.cpp Userland: Use Core::ArgsParser for 'realpath' 2020-08-06 20:41:13 +02:00
reboot.cpp Meta+Userland: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
rm.cpp Userland: Add -v verbose flag to 'rm' 2020-11-17 09:40:03 +01:00
rmdir.cpp Userland: Use Core::ArgsParser for 'rmdir' 2020-08-06 20:41:13 +02:00
seq.cpp seq: Check start, step, end for NaN 2020-11-08 21:40:18 +01:00
shutdown.cpp LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
sleep.cpp Userland: Fix a signal race condition 2020-09-10 16:00:11 +02:00
sort.cpp Userland/sort: Convert sort to use getline 2020-10-25 14:37:48 +01:00
stat.cpp Kernel+LibC: Fix various build issues introduced by ssize_t 2020-05-23 15:27:33 +02:00
strace.cpp Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
su.cpp su: Refuse to run if stdin is not a TTY 2020-11-08 16:16:03 +01:00
sync.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
syscall.cpp Kernel: Tidy up the syscalls list by reorganizing the enumerator macro 2020-08-04 18:17:16 +02:00
sysctl.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
tail.cpp Userland: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
tar.cpp AK: Eradicate calls to warn(). 2020-10-25 18:52:51 +01:00
tee.cpp AK: Make Vector use size_t for its size and capacity 2020-02-25 14:52:35 +01:00
test_efault.cpp Meta+Userland: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
test_env.cpp LibC: Add tests for getenv, setenv, putenv 2020-08-01 16:46:04 +02:00
test_io.cpp AK: Eradicate calls to warn(). 2020-10-25 18:52:51 +01:00
test-bindtodevice.cpp Test: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
test-compress.cpp LibCompress: Add unit tests for CanonicalCode. 2020-09-11 16:07:45 +02:00
test-crypto.cpp test-crypto: Remove foo.response file created by testing (#4110) 2020-11-20 21:18:43 +01:00
test-gfx-font.cpp Userland: Tests: Use mkstemp temporary files in tests 2020-11-15 00:50:57 +01:00
test-js.cpp test-js: Don't keep a pointer to a temporary String's characters 2020-11-26 19:33:35 +01:00
test-pthread.cpp Userland: Add a test for pthread_once() 2020-11-24 21:36:28 +01:00
test-web.cpp LibWeb: Fix Document construction mishap in <template> element 2020-10-23 08:33:16 +02:00
test.cpp Test: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
top.cpp LibCore+top: Use pid_t for pgid/pgrp/sid numbers 2020-09-06 19:04:47 +02:00
touch.cpp Userland: "touch" can now handle multiple paths as arguments 2020-05-01 17:08:46 +02:00
tr.cpp Meta+Userland: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
tree.cpp AK: Rename new_out to out and new_warn to warn. 2020-11-09 16:21:29 +01:00
true.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
truncate.cpp AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
tt.cpp LibPthread: Fix broken EINVAL check in pthread_attr_setdetachstate() 2020-11-26 19:33:44 +01:00
tty.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
umount.cpp LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
uname.cpp Userland: Use Core::ArgsParser for 'uname' 2020-08-06 20:41:13 +02:00
uniq.cpp Userland/uniq: Add uniq utility 2020-10-25 14:37:39 +01:00
unzip.cpp Userland: Fix buffer overflow in unzip 2020-10-01 21:15:35 +02:00
uptime.cpp uptime: Use pledge() 2020-02-18 13:29:54 +01:00
useradd.cpp LibC: Remove an unneeded string.h include in ctype.h/cpp 2020-09-27 21:15:25 +02:00
userdel.cpp Everywhere: Replace some uses of fork/exec with posix_spawn 2020-06-29 12:04:27 +02:00
utmpupdate.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
w.cpp Everywhere: Add missing <AK/ByteBuffer.h> includes 2020-11-15 13:11:21 +01:00
watch.cpp Userland: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
wc.cpp Style: Remove uses of NULL, substituting nullptr 2020-10-13 13:52:52 +02:00
which.cpp Userland: Use find_executable_in_path in which. 2020-09-16 19:39:17 +02:00
whoami.cpp whoami: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
xargs.cpp Userland: Add a basic xargs 2020-05-28 11:01:08 +02:00
yes.cpp Userland: Use Core::ArgsParser for 'yes' 2020-08-06 20:41:13 +02:00