ladybird/Kernel
Robin Burchell df74a9222f Kernel: Fix timeout support in select
The scheduler expects m_select_timeout to act as a deadline. That is, it
should contain the time that a task should wake at -- but we were
directly copying the time from userspace, which meant that it always
returned virtually immediately.

At the same time, fix CEventLoop to not rely on the broken select behavior
by subtracting the current time from the time of the nearest timer.
2019-05-18 02:57:38 +02:00
..
Boot Kernel: Clear the X86 direction flag (DF) in the boot loader. 2019-05-17 18:20:11 +02:00
Devices Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
ELF Kernel: Symbolicate userspace backtraces using ELFLoader. 2019-05-16 17:18:25 +02:00
FileSystem Kernel: Factor out range allocation from Process::allocate_region*(). 2019-05-17 04:39:22 +02:00
Net NetworkTask: Don't crash on startup if there's no E1000 NIC present. 2019-05-18 00:22:08 +02:00
TTY Replace various copies of parse_uint(String) with String::to_uint(). 2019-05-08 19:21:51 +02:00
VM Kernel: Let Region keep a Range internally. 2019-05-17 04:32:08 +02:00
.bochsrc Give the emulator testing environments 128 MB of RAM. 2019-03-27 13:02:29 +01:00
.gitignore Kernel: Use a multiboot header instead of a convoluted two-part bootloader. 2019-04-01 21:43:07 +02:00
Alarm.h Kernel: Oops, forgot to add Alarm.h earlier. Here it is. 2019-03-20 18:16:15 +01:00
Assertions.h Put assertions behind a DEBUG flag to make it easy to build without them. 2019-04-23 21:52:02 +02:00
CMOS.cpp Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
CMOS.h Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. 2019-04-06 14:29:29 +02:00
Console.cpp Kernel: Have File virtuals take a FileDescriptor& rather than a Process&. 2019-04-29 13:58:40 +02:00
Console.h Kernel: Have File virtuals take a FileDescriptor& rather than a Process&. 2019-04-29 13:58:40 +02:00
DoubleBuffer.cpp Kernel: DoubleBuffer can return early if read/write is called with !size. 2019-03-20 02:12:40 +01:00
DoubleBuffer.h Kernel: Assign Lock names in class member initializers. 2019-05-02 03:28:20 +02:00
File.cpp Kernel: Have File virtuals take a FileDescriptor& rather than a Process&. 2019-04-29 13:58:40 +02:00
File.h Kernel: Make Socket inherit from File. 2019-05-03 20:42:43 +02:00
i386.cpp Kernel: After creating our GDT, make sure CS refers to the right descriptor. 2019-05-17 18:52:29 +02:00
i386.h Kernel: Merge TSS.h into i386.h. 2019-04-14 04:39:56 +02:00
i8253.cpp Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
i8253.h Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
init.cpp Snake: Flesh out a basic snake game :^) 2019-04-20 03:24:50 +02:00
install.sh Build: Install most headers to Root (and libcore.a/libgui.a) 2019-05-17 21:59:48 +02:00
IO.h Kernel: Use rep insw/outsw for IDE transfers. 2019-04-23 03:45:55 +02:00
IRQHandler.cpp More coding style changes. 2018-12-03 00:39:25 +01:00
IRQHandler.h More coding style changes. 2018-12-03 00:39:25 +01:00
KeyCode.h Kernel: Make the right shift key work. 2019-04-23 20:47:45 +02:00
kmalloc.cpp Kernel: Simplify dump_backtrace() API for clients. 2019-05-16 13:41:16 +02:00
kmalloc.h Kernel: Make it possible to have kmalloc() dump call stacks. 2019-04-15 23:58:48 +02:00
kprintf.cpp Kernel: Have File virtuals take a FileDescriptor& rather than a Process&. 2019-04-29 13:58:40 +02:00
KResult.h Kernel: Yet more work on bringing up POSIX SHM. 2019-04-09 02:37:38 +02:00
kstdio.h Kernel: Remove two unneeded headers. 2019-04-10 22:49:11 +02:00
KSyms.cpp Kernel: Symbolicate userspace backtraces using ELFLoader. 2019-05-16 17:18:25 +02:00
KSyms.h Kernel: Simplify dump_backtrace() API for clients. 2019-05-16 13:41:16 +02:00
LinearAddress.h Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. 2019-04-06 14:29:29 +02:00
linker.ld Kernel: Use a multiboot header instead of a convoluted two-part bootloader. 2019-04-01 21:43:07 +02:00
Lock.h Kernel: Simplify dump_backtrace() API for clients. 2019-05-16 13:41:16 +02:00
makeall.sh Build: Install most headers to Root (and libcore.a/libgui.a) 2019-05-17 21:59:48 +02:00
Makefile LibCore: Move AK/ArgsParser to LibCore/CArgsParser 2019-05-17 15:49:37 +02:00
mkmap.sh Kernel: Don't symbolicate symbol+offset for obvious non-kernel addresses. 2019-04-30 14:47:22 +02:00
MousePacket.h Kernel: Add support for the PS/2 mouse wheel if detected. 2019-05-13 19:48:14 +02:00
PCI.cpp Kernel: More work on bringing up E1000 support. 2019-03-11 11:11:29 +01:00
PCI.h Kernel: More work on bringing up E1000 support. 2019-03-11 11:11:29 +01:00
PhysicalAddress.h Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. 2019-04-06 14:29:29 +02:00
PIC.cpp Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. 2019-04-06 14:29:29 +02:00
PIC.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
Process.cpp Kernel: Fix timeout support in select 2019-05-18 02:57:38 +02:00
Process.h Kernel: Factor out range allocation from Process::allocate_region*(). 2019-05-17 04:39:22 +02:00
ProcessTracer.cpp Kernel: Make Socket inherit from File. 2019-05-03 20:42:43 +02:00
ProcessTracer.h Kernel: Make Socket inherit from File. 2019-05-03 20:42:43 +02:00
RTC.cpp Kernel/RTC: Mark some intentional fallthroughs to suppress compiler warnings 2019-05-17 16:06:26 +02:00
RTC.h Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. 2019-04-06 14:29:29 +02:00
run Run QEMU with the "guest_errors" debug flag, in case we do something wrong. 2019-05-17 18:19:03 +02:00
Scheduler.cpp Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
Scheduler.h Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
SharedMemory.cpp Kernel: Make Socket inherit from File. 2019-05-03 20:42:43 +02:00
SharedMemory.h Kernel: Make Socket inherit from File. 2019-05-03 20:42:43 +02:00
StdLib.cpp Kernel: Don't use MMX memcpy() in the kernel. 2019-04-22 17:13:18 +02:00
StdLib.h Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. 2019-04-06 14:29:29 +02:00
sync.sh Build: Install most headers to Root (and libcore.a/libgui.a) 2019-05-17 21:59:48 +02:00
Syscall.cpp Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
Syscall.h Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
Thread.cpp Kernel: Make Thread::kernel_stack_base() work for kernel processes. 2019-05-17 03:43:51 +02:00
Thread.h Kernel: Make Thread::kernel_stack_base() work for kernel processes. 2019-05-17 03:43:51 +02:00
UnixTypes.h Kernel: Add a writev() syscall for writing multiple buffers in one go. 2019-05-10 03:19:25 +02:00