ladybird/Libraries/LibIPC
Shannon Booth 02911253dd LibWeb+LibIPC: Preserve MessagePort queue state across transfer
A MessagePort can be transferred while it already has local queued
state such as incoming messages drained from its transport,
outgoing messages posted before a transport exists, and a pending
shutdown to apply once the port is enabled.

Serialize and restore that state as part of transfer so it moves with
the port instead of being left behind on the old transport.

Also mark transports that are being transferred so shutdown of the old
endpoint during handoff is not reported as peer EOF. That shutdown is
part of moving the transport to the new owner, not peer disconnected.

Co-Authored-By: Alexander Kalenik <kalenik.aliaksandr@gmail.com>
2026-04-09 19:59:16 +02:00
..
Attachment.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
Attachment.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
AttachmentMachPort.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
AutoCloseFileDescriptor.cpp Everywhere: Remove LibCore/System.h includes from header files 2025-12-04 15:40:46 +00:00
AutoCloseFileDescriptor.h Everywhere: Remove LibCore/System.h includes from header files 2025-12-04 15:40:46 +00:00
CMakeLists.txt LibIPC: Move Windows handle serialization into TransportSocketWindows 2026-04-08 20:19:05 +02:00
Concepts.h Libraries: Move #pragma once above include headers 2026-03-22 14:05:44 +01:00
Connection.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Connection.h LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
ConnectionFromClient.h LibIPC: Simplify IPC read hook 2025-10-21 09:31:22 +02:00
ConnectionToServer.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
Decoder.cpp LibIPC: Remove unused header in Decoder 2026-02-23 12:15:23 +01:00
Decoder.h LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Encoder.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Encoder.h LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
File.cpp LibIPC: Move Windows handle serialization into TransportSocketWindows 2026-04-08 20:19:05 +02:00
File.h Everywhere: Remove LibCore/System.h includes from header files 2025-12-04 15:40:46 +00:00
Forward.h Everywhere: Move Mach bootstrap listener into LibIPC 2026-03-24 19:51:52 +01:00
HandleType.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
Limits.h LibIPC: Move IPC message limits to a shared Limits.h header 2026-01-22 17:38:15 +01:00
MachBootstrapListener.cpp Everywhere: Move Mach bootstrap listener into LibIPC 2026-03-24 19:51:52 +01:00
MachBootstrapListener.h Everywhere: Move Mach bootstrap listener into LibIPC 2026-03-24 19:51:52 +01:00
MachBootstrapMessages.h Everywhere: Move Mach bootstrap listener into LibIPC 2026-03-24 19:51:52 +01:00
Message.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Message.h LibIPC: Move Windows handle serialization into TransportSocketWindows 2026-04-08 20:19:05 +02:00
SingleServer.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
Stub.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Transport.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportBootstrapMach.cpp Everywhere: Move Mach bootstrap listener into LibIPC 2026-03-24 19:51:52 +01:00
TransportBootstrapMach.h Everywhere: Simplify Mach bootstrap transport handshake 2026-03-24 19:51:52 +01:00
TransportHandle.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportHandle.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportMachPort.cpp LibWeb+LibIPC: Preserve MessagePort queue state across transfer 2026-04-09 19:59:16 +02:00
TransportMachPort.h LibWeb+LibIPC: Preserve MessagePort queue state across transfer 2026-04-09 19:59:16 +02:00
TransportSocket.cpp LibWeb+LibIPC: Preserve MessagePort queue state across transfer 2026-04-09 19:59:16 +02:00
TransportSocket.h LibWeb+LibIPC: Preserve MessagePort queue state across transfer 2026-04-09 19:59:16 +02:00
TransportSocketWindows.cpp LibIPC: Move Windows handle serialization into TransportSocketWindows 2026-04-08 20:19:05 +02:00
TransportSocketWindows.h LibIPC: Move Windows handle serialization into TransportSocketWindows 2026-04-08 20:19:05 +02:00