ladybird/Kernel
Sergey Bugaev 43ce6c5474 Kernel: Move socket role tracking to the Socket class itself
This is more logical and allows us to solve the problem of
non-blocking TCP sockets getting stuck in SocketRole::None.

The only complication is that a single LocalSocket may be shared
between two file descriptions (on the connect and accept sides),
and should have two different roles depending from which side
you look at it. To deal with it, Socket::role() is made a
virtual method that accepts a file description, and LocalSocket
internally tracks which FileDescription is the which one and
returns a correct role.
2019-08-11 16:30:43 +02:00
..
Arch/i386 Kernel: Don't treat read faults like CoW exceptions 2019-08-06 09:39:39 +02:00
Boot Kernel: Make better use of the multiboot info. 2019-06-02 09:53:42 +02:00
Devices Kernel: Clean up some PATA log messages 2019-08-11 08:25:11 +02:00
FileSystem Kernel: Move socket role tracking to the Socket class itself 2019-08-11 16:30:43 +02:00
Net Kernel: Move socket role tracking to the Socket class itself 2019-08-11 16:30:43 +02:00
TTY FileDescription: Disallow construction with a null File 2019-08-11 09:33:31 +02:00
VM Kernel: Use range-for with InlineLinkedList 2019-08-08 13:40:58 +02:00
.bochsrc Meta: Make Serenity run on Bochs once again 2019-08-06 21:09:24 +02:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h} 2019-06-07 20:02:01 +02:00
build-image-grub.sh Build: Remove grub from default build process 2019-06-04 07:15:44 -07:00
build-image-qemu.sh Build: Fix incorrect user and group settings for disk image (#280) 2019-07-03 16:57:37 +02:00
build-root-filesystem.sh Calculator: Add a simple calculator app 2019-08-10 08:46:22 +02:00
CMOS.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
CMOS.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Console.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Console.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
DoubleBuffer.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
DoubleBuffer.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
grub.cfg Kernel: Add serial_debug cmdline parameter 2019-08-11 08:22:42 +02:00
init.cpp Kernel: Print out PCI devices during boot 2019-08-11 08:23:16 +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: First cut of a sb16 driver 2019-07-13 08:00:24 +02:00
IRQHandler.cpp Kernel: Move PIC.cpp into Arch/i386/ 2019-07-09 15:04:43 +02:00
IRQHandler.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
KBuffer.h Kernel: Make KBuffer lazily populated 2019-08-06 15:06:31 +02:00
KBufferBuilder.cpp Kernel: Add KBufferBuilder, similar to StringBuilder but for KBuffer 2019-08-06 20:04:12 +02:00
KBufferBuilder.h Kernel: Add KBufferBuilder, similar to StringBuilder but for KBuffer 2019-08-06 20:04:12 +02:00
KeyCode.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
kmalloc.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
kmalloc.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
KParams.cpp AK: Make HashMap::get(Key) return an Optional<Value>. 2019-07-24 10:25:43 +02:00
KParams.h Kernel: Run clang-format on everything. 2019-06-07 11:43:58 +02:00
kprintf.cpp Kernel: Add serial_debug cmdline parameter 2019-08-11 08:22:42 +02:00
KResult.h Kernel: Align the KResult value storage appropriately. 2019-08-02 19:22:48 +02:00
kstdio.h Kernel: Add serial_debug cmdline parameter 2019-08-11 08:22:42 +02:00
KSyms.cpp Kernel: Disable kmalloc backtraces during backtrace generation 2019-08-07 20:37:05 +02:00
KSyms.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +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.cpp Kernel: Oops, forgot to add Lock.cpp. 2019-07-29 12:00:14 +02:00
Lock.h Kernel: Move Lock code out-of-line. 2019-07-29 11:19:04 +02:00
makeall.sh Calculator: Add a simple calculator app 2019-08-10 08:46:22 +02:00
Makefile Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject 2019-08-07 18:09:32 +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 AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Multiboot.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
PCI.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
PCI.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Process.cpp Kernel: Move socket role tracking to the Socket class itself 2019-08-11 16:30:43 +02:00
Process.h Kernel: Reorder some Process members to shrink the class by 8 bytes 2019-08-08 14:57:45 +02:00
ProcessTracer.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
ProcessTracer.h Kernel: Move File.{cpp,h} into FileSystem/ 2019-07-09 15:04:45 +02:00
RTC.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
RTC.h Add clang-format file 2019-05-28 17:31:20 +02:00
run Kernel: First cut of a sb16 driver 2019-07-13 08:00:24 +02:00
Scheduler.cpp Kernel: Use a more detailed state machine for socket setup 2019-08-10 09:07:11 +02:00
Scheduler.h Kernel: Don't create Function objects in the scheduling code 2019-08-07 20:43:54 +02:00
SharedBuffer.cpp Kernel+ProcessManager: Let processes have an icon and show it in the table. 2019-07-29 07:26:01 +02:00
SharedBuffer.h Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject 2019-08-07 18:09:32 +02:00
StdLib.cpp Kernel: Add strncmp() 2019-08-11 16:30:43 +02:00
StdLib.h Kernel: Add strncmp() 2019-08-11 16:30:43 +02:00
sync.sh Build: Remove grub from default build process 2019-06-04 07:15:44 -07:00
Syscall.cpp Kernel+LibC: Support passing O_CLOEXEC to pipe() 2019-08-05 16:04:31 +02:00
Syscall.h Kernel: mount system call (#396) 2019-08-02 15:18:47 +02:00
Thread.cpp Kernel: For signal-killed threads, dump backtrace from finalizer thread 2019-08-06 19:45:08 +02:00
Thread.h Kernel: Don't create Function objects in the scheduling code 2019-08-07 20:43:54 +02:00
UnixTypes.h Kernel: Add support for the WSTOPPED flag to the waitpid() syscall. 2019-07-14 11:35:49 +02:00