summaryrefslogtreecommitdiff
path: root/Kernel/LocalSocket.cpp
AgeCommit message (Collapse)Author
2019-03-20Kernel: Fix race between accept() and connect().Andreas Kling
We had a bug where an accepted socket would appear to be EOF/disconnected on the accepting side until the connecting side had called attach_fd(). Fix this by adding a new SocketRole::Connecting state.
2019-03-13Kernel: recvfrom() should treat the address arguments as outparams.Andreas Kling
2019-03-12Kernel+LibC+Userland: Yet more networking bringup hacking.Andreas Kling
All ICMP sockets now receive all ICMP packets. All this buffering is gonna need some limits and such.
2019-03-12Kernel+LibC+Userland: Start working on an IPv4 socket backend.Andreas Kling
The first userland networking program will be "ping" :^)
2019-03-06Kernel: Port more code to KResult and KResultOr<T>.Andreas Kling
2019-03-01Put miscellaneous debug spam behind #ifdefs.Andreas Kling
2019-02-25Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t.Andreas Kling
Dealing with the unsigned overflow propagation here just seems unreasonably error prone. Let's limit ourselves to 2GB buffer sizes instead.
2019-02-25AK: Add Retained<T>, like RetainPtr, but never null.Andreas Kling
Also use some Clang attribute wizardry to get a warning for use-after-move.
2019-02-21Kernel: Process::cwd_inode() should return a reference.Andreas Kling
There's always a current working directory inode.
2019-02-17Kernel: Give each FileDescriptor a chance to co-open sockets.Andreas Kling
Track how many fds are open for a socket's Accepted and Connected roles. This allows fork() to clone a socket fd without a subsequent close() walking all over the parent process's fd.
2019-02-17Move WindowServer to userspace.Andreas Kling
This is a monster patch that required changing a whole bunch of things. There are performance and stability issues all over the place, but it works. Pretty cool, I have to admit :^)
2019-02-14Kernel: Fix some broken debug log statements.Andreas Kling
2019-02-14Port the WindowServer and LibGUI to communicate through local sockets.Andreas Kling
This is really cool! :^) Apps currently refuse to start if the WindowServer isn't listening on the socket in /wsportal. This makes sense, but I guess it would also be nice to have some sort of "wait for server on startup" mode. This has performance issues, and I'll work on those, but this stuff seems to actually work and I'm very happy with that.
2019-02-14Kernel: Let's say that listening+bound sockets "can read."Andreas Kling
This will make it easy-peasy to select() on a socket file descriptor to wait for incoming connections together with other activities.
2019-02-14Kernel: Actually send things between the socket endpoints.Andreas Kling
2019-02-14Kernel: More work on sockets. Fleshing out connect().Andreas Kling
2019-02-14Kernel: More sockets work. Fleshing out accept().Andreas Kling
2019-02-14Kernel: Begin fleshing out bind() syscall.Andreas Kling
2019-02-14Kernel: Begin implementing UNIX domain sockets.Andreas Kling