mirror of
https://github.com/RGBCube/serenity
synced 2026-01-17 05:50:59 +00:00
This change unfortunately cannot be atomically made without a single commit changing everything. Most of the important changes are in LibIPC/Connection.cpp, LibIPC/ServerConnection.cpp and LibCore/LocalServer.cpp. The notable changes are: - IPCCompiler now generates the decode and decode_message functions such that they take a Core::Stream::LocalSocket instead of the socket fd. - IPC::Decoder now uses the receive_fd method of LocalSocket instead of doing system calls directly on the fd. - IPC::ConnectionBase and related classes now use the Stream API functions. - IPC::ServerConnection no longer constructs the socket itself; instead, a convenience macro, IPC_CLIENT_CONNECTION, is used in place of C_OBJECT and will generate a static try_create factory function for the ServerConnection subclass. The subclass is now responsible for passing the socket constructed in this function to its ServerConnection base; the socket is passed as the first argument to the constructor (as a NonnullOwnPtr<Core::Stream::LocalServer>) before any other arguments. - The functionality regarding taking over sockets from SystemServer has been moved to LibIPC/SystemServerTakeover.cpp. The Core::LocalSocket implementation of this functionality hasn't been deleted due to my intention of removing this class in the near future and to reduce noise on this (already quite noisy) PR. |
||
|---|---|---|
| .. | ||
| AK | ||
| Kernel | ||
| LibC | ||
| LibCompress | ||
| LibCore | ||
| LibCpp | ||
| LibCrypto | ||
| LibELF | ||
| LibGfx | ||
| LibGL | ||
| LibIMAP | ||
| LibJS | ||
| LibM | ||
| LibMarkdown | ||
| LibPDF | ||
| LibPthread | ||
| LibRegex | ||
| LibSQL | ||
| LibTest | ||
| LibThreading | ||
| LibTimeZone | ||
| LibTLS | ||
| LibUnicode | ||
| LibWasm | ||
| LibWeb | ||
| UserspaceEmulator | ||
| CMakeLists.txt | ||