1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-09 17:44:56 +09:00
ladybird/Libraries/LibIPC
Timothy Flynn 36da270dbe LibIPC+LibWeb: Flush MessagePort messages before closing
The spec isn't super clear on what disentagling a MessagePort means. But
we are required to send all pending messages before closing the port.

This is a bit tricky because the transport socket performs writes on a
background thread. From the main thread, where the disentanglement will
occur, we don't really know the state of the write thread. So what we do
here is stop the background thread then flush all remaining data from
the main thread.
2025-05-21 06:54:44 -04:00
..
CMakeLists.txt LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
Concepts.h LibIPC: Add a generic encoder for spans 2025-03-09 11:14:20 -04:00
Connection.cpp LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC connection 2025-04-10 23:40:02 +02:00
Connection.h LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC connection 2025-04-10 23:40:02 +02:00
ConnectionFromClient.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
ConnectionToServer.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
Decoder.cpp LibIPC: Ensure only valid URLs are passed over IPC 2025-02-19 08:01:35 -05:00
Decoder.h LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC connection 2025-04-10 23:40:02 +02:00
Encoder.cpp LibIPC: Do not require constructing containers when sending IPC messages 2025-03-09 11:14:20 -04:00
Encoder.h LibIPC: Add a generic encoder for spans 2025-03-09 11:14:20 -04:00
File.cpp LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
File.h LibCore: Implement System::set_close_on_exec 2025-03-19 20:25:24 -06:00
FileWindows.cpp LibCore: Implement System::set_close_on_exec 2025-03-19 20:25:24 -06:00
Forward.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
HandleType.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
Message.cpp LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC connection 2025-04-10 23:40:02 +02:00
Message.h LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC connection 2025-04-10 23:40:02 +02:00
MessageWindows.cpp LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
MultiServer.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
SingleServer.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
Stub.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Transport.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
TransportSocket.cpp LibIPC+LibWeb: Flush MessagePort messages before closing 2025-05-21 06:54:44 -04:00
TransportSocket.h LibIPC+LibWeb: Flush MessagePort messages before closing 2025-05-21 06:54:44 -04:00
TransportSocketWindows.cpp LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
TransportSocketWindows.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00