ladybird/Kernel
Andreas Kling fbcc8ab840 WindowServer: Slurp all available client messages when checking them.
We were reading one client message per client per event loop iteration.
That was not very snappy. Make the sockets non-blocking and read() until
there are no messages left.

It would be even better to make as few calls to read() as possible to
reduce context switching, but this is already a huge improvement.
2019-02-15 11:43:43 +01:00
..
Boot Bootloader: Bump sector count once again. 2019-02-12 12:09:50 +01:00
.bochsrc Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01:00
.gitignore Add basic automatic dependency management to Makefiles. 2019-02-02 04:41:59 +01:00
_start.cpp Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
Assertions.h Add a simple IDEDiskDevice class that implements DiskDevice from VFS. 2018-10-16 14:17:43 +02:00
BochsVGADevice.cpp WindowServer: Coordinate double-buffering with the BochsVGA card. 2019-02-07 08:56:26 +01:00
BochsVGADevice.h WindowServer: Coordinate double-buffering with the BochsVGA card. 2019-02-07 08:56:26 +01:00
CharacterDevice.cpp Deallocate PTY's when they close. 2019-01-30 18:47:18 +01:00
CharacterDevice.h Add uid and gid to CharacterDevices. 2019-01-31 05:55:30 +01:00
CMOS.cpp Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
CMOS.h Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
Console.cpp Expose the kernel log buffer through /proc/dmesg. 2019-01-28 22:40:55 +01:00
Console.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
DevPtsFS.cpp Kernel: Add proper locking to SynthFS and stop disabling interrupts. 2019-02-07 10:47:11 +01:00
DevPtsFS.h Deallocate PTY's when they close. 2019-01-30 18:47:18 +01:00
DiskBackedFileSystem.cpp Kernel: Update block cache on write. 2019-02-11 13:18:24 +01:00
DiskBackedFileSystem.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
DiskDevice.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
DiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
DoubleBuffer.cpp Catch anyone trying to use a DoubleBuffer with interrupts disabled. 2019-01-16 01:58:11 +01:00
DoubleBuffer.h Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
elf.h Make it possible to build the Kernel on a macOS host. 2018-12-02 23:34:50 +01:00
ELFImage.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
ELFImage.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
ELFLoader.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
ELFLoader.h Use the entry point address from the ELF header instead of looking up _start. 2018-12-29 03:28:55 +01:00
ext2_fs.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
ext2_types.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
Ext2FileSystem.cpp Ext2FS: Fix broken logic for accessing inode and block bitmaps. 2019-02-11 12:46:56 +01:00
Ext2FileSystem.h Ext2FS: Avoid a kmallocation every time we fetch an inode from disk. 2019-02-03 04:05:30 +01:00
FIFO.cpp Allow character devices to block write attempts until there is more space. 2019-01-15 09:17:22 +01:00
FIFO.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FileBackedDiskDevice.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
FileBackedDiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FileDescriptor.cpp Kernel: Actually send things between the socket endpoints. 2019-02-14 16:01:45 +01:00
FileDescriptor.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
FileSystem.cpp Kernel: More work on sockets. Fleshing out connect(). 2019-02-14 15:55:19 +01:00
FileSystem.h Kernel: More work on sockets. Fleshing out connect(). 2019-02-14 15:55:19 +01:00
FullDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FullDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
i386.cpp Kernel: Put page fault logspam behind PAGE_FAULT_DEBUG. 2019-02-10 11:37:59 +01:00
i386.h Kernel: Add an InterruptFlagSaver helper class. 2019-02-05 11:14:09 +01:00
i8253.cpp Clean up some uninteresting log spam. 2019-02-06 11:32:23 +01:00
i8253.h Implement event loop timers. 2019-02-01 03:50:06 +01:00
IDEDiskDevice.cpp Fix some compilation warnings. 2019-02-12 12:11:22 +01:00
IDEDiskDevice.h IDEDiskDevice: Detect disk errors and report failure to clients. 2019-02-11 11:38:14 +01:00
init.cpp Kernel: Remove GUIEventDevice. 2019-02-15 08:59:55 +01:00
InodeIdentifier.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
InodeMetadata.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
IO.h Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01: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
kassert.h More coding style changes. 2018-12-03 00:39:25 +01:00
Keyboard.cpp Kernel: Drivers for PS/2 mouse and keyboard kept stealing from each other. 2019-02-07 07:58:26 +01:00
Keyboard.h LibGUI: Start bringing up GTextBox in the standalone world. 2019-01-26 06:39:13 +01:00
KeyCode.h LibGUI: Start bringing up GTextBox in the standalone world. 2019-01-26 06:39:13 +01:00
kmalloc.cpp Kernel: Unbreak symbolication yet another time. 2019-01-27 10:17:56 +01:00
kmalloc.h Kernel: Unbreak symbolication yet another time. 2019-01-27 10:17:56 +01:00
kprintf.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
kprintf.h Build Painter & friends into LibC. Use it in the GUI test app. 2019-01-14 20:02:51 +01:00
kstdio.h Fix Userland build. 2019-01-13 04:31:16 +01:00
KSyms.cpp Kernel: Stop spamming the kernel log buffer when loading ksyms. 2019-02-06 18:52:12 +01:00
KSyms.h Unbreak ksym loading and make reading /proc/PID/stack not crash. 2019-01-01 02:20:01 +01:00
ktime.h Fix some minor build warnings. 2018-10-17 16:48:43 +02:00
Limits.h Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
linker.ld Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
LocalSocket.cpp Kernel: Fix some broken debug log statements. 2019-02-14 17:43:47 +01:00
LocalSocket.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
makeall.sh Let's have makeall.sh build with make -j2. 2019-02-12 16:34:19 +01:00
Makefile Kernel: Remove GUIEventDevice. 2019-02-15 08:59:55 +01:00
makeuserland.sh Move apps into a top-level Applications/ directory. 2019-02-10 08:35:01 +01:00
MasterPTY.cpp Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
MasterPTY.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
MemoryManager.cpp Kernel: Put page fault logspam behind PAGE_FAULT_DEBUG. 2019-02-10 11:37:59 +01:00
MemoryManager.h Kernel: Break retain cycle between Inode and VMObject. 2019-02-08 16:40:48 +01:00
mkf.sh Start working on a simple graphical font editor. 2019-02-02 08:07:06 +01:00
mkmap.sh Omit duplicate lines from the ksyms map. 2018-12-03 02:23:49 +01:00
NullDevice.cpp Kernel: Make sure processes always start out with fds 0, 1 and 2 open. 2019-02-12 11:25:25 +01:00
NullDevice.h Kernel: Make sure processes always start out with fds 0, 1 and 2 open. 2019-02-12 11:25:25 +01:00
PCI.cpp Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01:00
PCI.h Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01:00
PIC.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
PIC.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
Process.cpp WindowServer: Slurp all available client messages when checking them. 2019-02-15 11:43:43 +01:00
Process.h Kernel: Remove GUIEventDevice. 2019-02-15 08:59:55 +01:00
ProcFS.cpp Fix some compilation warnings. 2019-02-12 12:11:22 +01:00
ProcFS.h Kernel: Use a Lockable<bool> for sysctl booleans as well. 2019-02-08 16:18:24 +01:00
PS2MouseDevice.cpp PS2MouseDevice: Add current buffer size to debug logging. 2019-02-12 09:22:55 +01:00
PS2MouseDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
PTYMultiplexer.cpp Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
PTYMultiplexer.h Bootloader: Locate the kernel's data segment and clear it. 2019-02-06 16:02:10 +01:00
Queue.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
RandomDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
RandomDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
RTC.cpp WindowServer: Put a clock in the top right corner of the screen. 2019-02-13 09:27:08 +01:00
RTC.h WindowServer: Put a clock in the top right corner of the screen. 2019-02-13 09:27:08 +01:00
run Add TIOCGWINSZ ioctl so userland can determine terminal geometry. 2018-11-29 03:45:23 +01:00
Scheduler.cpp Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
Scheduler.h Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
SlavePTY.cpp Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
SlavePTY.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
Socket.cpp Kernel: Fix some broken debug log statements. 2019-02-14 17:43:47 +01:00
Socket.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
StdLib.cpp Kernel: Don't disable interrupts to access the system hostname. 2019-02-07 10:29:26 +01:00
StdLib.h Kernel: Don't disable interrupts to access the system hostname. 2019-02-07 10:29:26 +01:00
sync.sh Kernel: Remove GUIEventDevice. 2019-02-15 08:59:55 +01:00
SyntheticFileSystem.cpp Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
SyntheticFileSystem.h Kernel: Add proper locking to SynthFS and stop disabling interrupts. 2019-02-07 10:47:11 +01:00
Syscall.cpp LibC: Add socket(), bind(), listen(), accept() and connect(). 2019-02-14 15:26:06 +01:00
Syscall.h Kernel: Begin implementing UNIX domain sockets. 2019-02-14 14:17:38 +01:00
system.h The syncd loop can just be a lambda. 2018-12-24 23:10:48 +01:00
TSS.h Share code between spawn() and exec() implementations. 2018-11-03 10:55:02 +01:00
TTY.cpp Kernel: Closing a MasterPTY should generate a TTY hangup. 2019-02-05 12:55:19 +01:00
TTY.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
types.h Get nyancat nyanning in Serenity. 2019-02-03 16:11:28 +01:00
UnixTypes.h Kernel: More sockets work. Fleshing out accept(). 2019-02-14 15:17:30 +01:00
VirtualConsole.cpp Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
VirtualConsole.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
VirtualFileSystem.cpp VFS: Add two assertions to resolve_path() to catch corrupted file systems. 2019-02-15 09:07:29 +01:00
VirtualFileSystem.h Bootloader: Locate the kernel's data segment and clear it. 2019-02-06 16:02:10 +01:00
ZeroDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
ZeroDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00