sortix--sortix/libc
Jonas 'Sortie' Termansen 5e7605fad2 Implement threading primitives that truly sleep.
The idle thread is now actually run when the system is idle because it
truly goes idle. The idle thread is made power efficient by using the hlt
instruction rather than a busy loop.

The new futex(2) system call is used to implement fast user-space mutexes,
condition variables, and semaphores. The same backend and design is used as
kutexes for truly sleeping kernel mutexes and condition variables.

The new exit_thread(2) flag EXIT_THREAD_FUTEX_WAKE wakes a futex.

Sleeping on clocks in the kernel now uses timers for true sleep.

The interrupt worker thread now truly sleeps when idle.

Kernel threads are now named.

This is a compatible ABI change.
2021-06-23 22:10:47 +02:00
..
arpa/inet
assert
blf
c++
ctype
dirent
dlfcn
err
errno
error
fcntl
fnmatch
fsmarshall
fstab
getopt
grp
include Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
init
inttypes
ioleast
langinfo
libgen
locale
malloc
msr
netdb
netinet/in
poll
psctl
pthread Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
pty
pwd
regex
sched
scram
semaphore Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
sha2
signal
ssp
stdio
stdio_ext
stdlib
string
sys Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
syslog
termios
time
timespec
ubsan
unistd
utime
wchar
wctype
x64
x86
.gitignore
Makefile Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00